设计模式系列文章:
1、设计模式之工厂模式
2、设计模式之单例模式
3、设计模式之代理模式
4、设计模式之外观模式(即门面模式)
5、设计模式之策略模式
6、设计模式之责任链模式
7、设计模式之观察者模式
8、设计模式之建造者模式
外观模式,相比其他设计模式,仅从在理解上来说要相对容易,下面就简要介绍一下。
定义:
外观模式就是为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,这里作用一共就两点。
- 为复杂子系统对外提供一个简单接口
- 提高子系统的独立性
UML图
简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。这个模式中,设计到3个角色。
- 门面角色:外观模式的核心。将客户端的请求给适当的子系统对象,外观类需要了解所有的子系统的方法或者属相,进行组合,以备外界调用。
- 子系统角色:实现了子系统的功能。它对客户角色和Facade时未知的。它内部可以有系统内的相互交互,也可以由供外界调用的接口。
客户角色:通过调用Facede来完成要实现的功能。
使用场景:
1- 为复杂的模块或子系统提供外界访问的模块;
2- 子系统相互独立;
3- 在层析结构中,可以使用外观模式定义系统的每一层的入口。
在二次开发过程中或者对一些老系统的维护,分两队,一队开发facade,与老系统的交互,另一方只需要了解facade接口,直接开发新系统调用facade接口便可。