外观模式
外观模式定义: 外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。类图如下:
要点:
● 外观模式为复杂子系统提供了一个简单接口,并不为子系统添加新的功能和行为。
● 外观模式实现了子系统与客户之间的松耦合关系。
● 外观模式没有封装子系统的类,只是提供了简单的接口。 如果应用需要,它并不限制客户使用子系统类。因此可以再系统易用性与通用性之间选择。
● 外观模式注重的是简化接口,它更多的时候是从架构的层次去看整个系统,而并非单个类的层次。
外观模式优点:
● 实现了子系统与客户端之间的松耦合关系。
● 客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。
使用场景:
● 设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。
● 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
● 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。
案例1:假设我们家里做一个影院,大屏电视,dvd,音响,爆米花机,有好多设备,我们看电视一般的流程是:
● 先打开电源。
● 然后打开电视。
● 然后打开dvd。
● 然后打开音响。
● 然后打开爆米花机。
● 然后,,,然后关闭呢?,,,,好多事我们自己处理,这时我们可以引入外观模式来简化,记住哦,外观模式就是简化接口,简化子系统调用。改造以后我们可以按遥控器的一键来处理这些所有的步骤,类图如下:
设计原则:最少知识原则,只和朋友交谈。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/191701.html