外观模式浅析
来源:互联网 发布:java培训学校 编辑:程序博客网 时间:2024/06/05 15:33
外观模式:其实就是通过包装,我们可以在外界去调用统一的接口,可以这么说在外面我们所能看到的是外观对象,而不会看到里面的实际的操作,和里面的对象,这样的话其实就是让我们的代码更加好阅读,以及增强了可维护性。
就好比我们如果要把很多类的对象都去创建出来,然后用于某个功能,也就是说我们在外界需要去处理全部的细节才可以去实现这样的功能,如果我们直接在控制器中这样做的话,后期不好维护。所以其实我们可以把这些对象的组合抽成一个接口让外界进行调用。
有些时候我们只需要子系统中的某些的基本行为,而不需要去做什么定制的话,其实外观模式给我们提供了一个简化的接口,这样处理起来方便。这样也解决了客户端与我们的这些类中的耦合关系。
结构图:
客户端(Client):也就是调用Facade对象去完成相应的功能的角色。
外观(Facade):就是提供一个接口,让客户端去调用,里面知道各个子系统的功能,一个外观类中可以有多个子系统。
子系统(SubSystem):就是实现了子系统中的功能,处理Facade对象所下发的任务,每一个子系统其实也可以为客户端所调用。
外观模式的应用其实就好比我们想去上海,我们可以选择自己开车去,但是这样的话就要考虑路况啊,选择哪条路啊这样会很麻烦,如果这个时候我们是去找到了一个出租车司机的话,让出租车司机去帮我们做这个事情我们就可以不用管了,都让出租车司机去管,其实这样的话我们其实可以把出租车司机变成一个外观类,然后这个出租车司机提供出开往上海的接口,我们在外面直接调用就好了,不用去管里面的具体细节实现。
阅读全文
0 0
- 外观模式浅析
- 浅析设计模式之外观模式
- iOS设计模式浅析之外观模式
- 设计模式之适配器模式、外观模式浅析
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- JavaScript的cookie
- 林轩田之机器学习课程笔记(why can machines learn之theory of generalization)(32之6)
- MySQL —— 数据库,数据表的创建,修改,删除
- POJ
- 数据结构实验之排序七:选课名单
- 外观模式浅析
- [BZOJ1145][CTSC2008]图腾totem 树状数组
- 雇员管理系统-SSH版(九)
- 拓扑排序
- 安卓开发之计算结果保留两位有效数字(四舍五入)
- Nodepad++和编程
- numpy学习笔记
- 机器学习:YOLO for Object Detection (一)
- IPV6、IPV4