码迷,mamicode.com
首页 > 其他好文 > 详细

“Head First 设计模式“ :外观模式

时间:2018-04-27 13:37:14      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:外观模式   设计模式   

外观模式

外观模式定义: 外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。类图如下:
技术分享图片


要点
● 外观模式为复杂子系统提供了一个简单接口,并不为子系统添加新的功能和行为。
● 外观模式实现了子系统与客户之间的松耦合关系。
● 外观模式没有封装子系统的类,只是提供了简单的接口。 如果应用需要,它并不限制客户使用子系统类。因此可以再系统易用性与通用性之间选择。
● 外观模式注重的是简化接口,它更多的时候是从架构的层次去看整个系统,而并非单个类的层次。


外观模式优点
● 实现了子系统与客户端之间的松耦合关系。
● 客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。


使用场景
● 设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。
● 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
● 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。


案例1:假设我们家里做一个影院,大屏电视,dvd,音响,爆米花机,有好多设备,我们看电视一般的流程是:
● 先打开电源。
● 然后打开电视。
● 然后打开dvd。
● 然后打开音响。
● 然后打开爆米花机。
● 然后,,,然后关闭呢?,,,,好多事我们自己处理,这时我们可以引入外观模式来简化,记住哦,外观模式就是简化接口,简化子系统调用。改造以后我们可以按遥控器的一键来处理这些所有的步骤,类图如下:
技术分享图片


设计原则:最少知识原则,只和朋友交谈。

“Head First 设计模式“ :外观模式

标签:外观模式   设计模式   

原文地址:http://blog.51cto.com/u2r2otkit/2108463

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!