外观模式
2016-04-26 17:53
218 查看
外观模式,
引用(我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。
例子1:一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电源总开关可以同时控制上述所有电器设备,电源总开关即为该系统的外观模式设计。)
本人理解就是下面有好多好多的功能个体,你把他们用袋子包装起来,有人用里面的功能的时候只告诉这个袋子就可以使用了,无需关注里面的细节,搞成一个你有,一个我要的简单方式。(当然袋子可能不确切)。注意是袋子调用个体的功能,个体不去实现袋子,还有都是类,没有接口。和上一篇的DI不同。
构建模式的组成
外观角色(Facade):是模式的核心,他被客户client角色调用,知道各个子系统的功能。同时根据客户角色已有的需求预订了几种功能组合\
子系统角色(Subsystem classes):实现子系统的功能,并处理由Facade对象指派的任务。对子系统而言,facade和client角色是未知的,没有Facade的任何相关信息;即没有指向Facade的实例。
客户角色(client):调用facade角色获得完成相应的功能。
引用(我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。
例子1:一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电源总开关可以同时控制上述所有电器设备,电源总开关即为该系统的外观模式设计。)
本人理解就是下面有好多好多的功能个体,你把他们用袋子包装起来,有人用里面的功能的时候只告诉这个袋子就可以使用了,无需关注里面的细节,搞成一个你有,一个我要的简单方式。(当然袋子可能不确切)。注意是袋子调用个体的功能,个体不去实现袋子,还有都是类,没有接口。和上一篇的DI不同。
构建模式的组成
外观角色(Facade):是模式的核心,他被客户client角色调用,知道各个子系统的功能。同时根据客户角色已有的需求预订了几种功能组合\
子系统角色(Subsystem classes):实现子系统的功能,并处理由Facade对象指派的任务。对子系统而言,facade和client角色是未知的,没有Facade的任何相关信息;即没有指向Facade的实例。
客户角色(client):调用facade角色获得完成相应的功能。
相关文章推荐
- 六、设计模式——外观模式
- C++设计模式编程中Facade外观模式的使用实例解析
- JavaScript设计模式之外观模式实例
- JavaScript设计模式之外观模式介绍
- 深入理解JavaScript系列(30):设计模式之外观模式详解
- Java设计模式之外观模式(Facade模式)介绍
- 大话设计模式 - 外观(Facade)模式
- Java设计模式 结构模式-外观模式(Facade)
- GOF23之外观模式Demo
- 一天一个设计模式(2): 外观模式
- 大话数据结构 外观模式
- Design Pattern学习笔记之适配和外观(the Adapter and Facade Pattern)
- 外观模式
- 外观模式
- 外观模式(Facade Pattern)小结
- Java--设计模式之外观模式
- 常用设计模式之外观模式
- 外观模式(Facade)
- 《8》外观模式
- JAVA 外观模式