大话设计模式读书笔记--8.外观模式

外观模式的用意是为子系统提供一个集中化和简化的沟通渠道,而不是向子系统加入新的行为

生活中的例子:

一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电源总开关可以同时控制上述所有电器设备,电源总开关即为该系统的外观模式设计

定义

定义: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这一接口使得这一子系统更加容易使用

结构图

Facade: 是模式的核心,指导所有子系统的功能, 可根据客户端的需求定制功能组合

SubSystemOne: 实现子系统的功能

代码实现

场景: 新手理财买基金,  通过基金经理人进行投资,而新手无须关心基金经理人具体的投资

场景分析: 新手只要关系基金的涨跌, 而无须关心基金经理人具体的投资行为

点击下载代码

优缺点及使用场景

优点:

 1.减少客户端处理的对象数目
 2.对客户端屏蔽了子系统, 实现了解耦合

缺点: 增加新的子系统可能需要修改外观类或客户端的源代码,违背了“开闭原则”。

使用场景:

1.在设计初期,应该有意识的将不同的两个层分离,比如经典的mvc架构
2.子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类,使用起来困难, 增加外观模式可以提供简单的接口,减少依赖
3.一个大型系统非常难以维护和扩展,但是新的需求必须依赖其中部分功能,可以提供一个外观Facade类,让新系统与Facade对象交互

在对系统使用外观模式后,达到的效果如下图

 

转载于:https://www.cnblogs.com/liuconglin/p/6417486.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值