机房重构——加了设计模式的三层(上)
来源:互联网 发布:linux公社怎么样 编辑:程序博客网 时间:2024/06/05 04:06
刚开始学三层的时候就听说了七层,当时的感觉就是:七层!!!
现在对于七层的学习已经有一段时间了,而且也做了几个例子了对于七层的理解也有了较
深的认识。
说到七层,就是表现层,外观层,业务逻辑层,接口层,工厂层,数据访问层,实体层。
为啥子要整个七层呢?三层就很好啊。
在学之前确实有过这么想法,说白了就是在为自己的懒惰找借口。
其实七层的使用和三层的使用是一个道理的就是为了减少耦合。在表现层和逻辑层加了个
外观层,
在逻辑层和数据访问层加了个抽象工厂(接口层,工厂层)
为什么加外观层呢,外层模式就是用来封装方法的。
一个过程难免要使用好多的方法,就好像要把大象装冰箱里这个过程一样,我们可以设计
出三个方法,open()打开冰箱,Load()把大象装冰箱里,close()把冰箱门关上。
当我们的用户要调用这个过程的时候,
U层要使用这三个方法,这样就会因为U层调用了三个方法产生高耦合。加了外观层之后,
在外观层中构造一个方法Boxing,这个装箱的方法中会调用这三个方法。也就是说外观层
把这三个方法进行了封装,然后告诉你这个封装好的方法就是Boxing它可以实现把大象装
冰箱里的功能,具体怎么装的过程就不是重点了,这样U层要实现把大象装冰箱里就只需要
调用Boxing这一个方法就可以了。这样就实现了低耦合。
然后就是抽象工厂了,
这个抽象工厂就是在B层和D层中的设计模式,只不过这次一下子出现了两个层抽象工厂是干
啥子用的呢,在学习大话设计模式的时候学到抽象工厂的时候,那一章的标题是“就不能不换
数据库吗”,可见抽象工厂的作用之一就是可以选择数据库。其中另一个作用就是实例化D层的
类.D层的类可不是向三层简单的实例化,而是使用的反射,也就是说D层的实例化并不是使用的
New 而是使用的反射。准确的说是实现了IDAL接口,而不是D层,由这个接口去决定
执行哪个D层,也许这就是依赖倒置原则吧,要依赖抽象而不是具体。
- 机房重构——加了设计模式的三层(上)
- 机房重构——加了设计模式的三层(下)
- 【机房重构】——设计模式的运用
- 机房重构——三层登录
- 机房重构——三层架构
- 机房重构——三层的修改密码路线
- 机房重构——三层文本框的处理
- 机房重构——观察者模式上下机
- 【机房重构】三层
- .net机房收费系统实例—三层+设计模式
- 【个人机房重构】——三层架构,系统登录
- 机房重构——三层添加删除用户
- 【机房重构】一步一步往上爬——不仅仅是三层
- 机房重构前奏——三层转七层
- 重构机房收费系统—浅谈三层
- 重构机房收费系统—浅谈三层
- 机房重构小结(三层)
- 三层加设计模式
- NYOJ 题目952 最大四边形(几何,技巧)
- 蓝桥杯 基础练习 特殊回文数
- linux设备驱动模型一三基础结构之Kobject
- xml文件的序列化
- 我的2014年总结
- 机房重构——加了设计模式的三层(上)
- Bag集合工具类(apache-commons-collections3.2工具包)在java中的使用
- vim的文本替换
- 反射获取方法
- WCF的Binding
- JVM体系
- QT学习 之 对话框 (一) 可扩展对话框
- 进制转换--二进制、八进制、十六进制
- 安卓自定义日历控件