首页 > 代码库 > 大话设计模式读书笔记--8.外观模式
大话设计模式读书笔记--8.外观模式
外观模式的用意是为子系统提供一个集中化和简化的沟通渠道,而不是向子系统加入新的行为
生活中的例子:
一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电源总开关可以同时控制上述所有电器设备,电源总开关即为该系统的外观模式设计
定义
定义: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这一接口使得这一子系统更加容易使用
结构图
Facade: 是模式的核心,指导所有子系统的功能, 可根据客户端的需求定制功能组合
SubSystemOne: 实现子系统的功能
代码实现
场景: 新手理财买基金, 通过基金经理人进行投资,而新手无须关心基金经理人具体的投资
场景分析: 新手只要关系基金的涨跌, 而无须关心基金经理人具体的投资行为
点击下载代码
优缺点及使用场景
优点:
1.减少客户端处理的对象数目 2.对客户端屏蔽了子系统, 实现了解耦合
缺点: 增加新的子系统可能需要修改外观类或客户端的源代码,违背了“开闭原则”。
使用场景:
1.在设计初期,应该有意识的将不同的两个层分离,比如经典的mvc架构2.子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类,使用起来困难, 增加外观模式可以提供简单的接口,减少依赖3.一个大型系统非常难以维护和扩展,但是新的需求必须依赖其中部分功能,可以提供一个外观Facade类,让新系统与Facade对象交互
在对系统使用外观模式后,达到的效果如下图
大话设计模式读书笔记--8.外观模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。