一、概念:为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
二、UML示意图:
Facade类与一系列子系统做交互,并未Client提供与这些子系统做交互的接口,Client不需要知道众多子系统的详细情况与工作细节,只需要调用Facade为外界提供的接口就能间接与各个子系统做交互了。
三、优缺点
优点:
- 实现了子系统与客户端之间的松耦合关系。
- 客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。
缺点:
- 不符合开发封闭原则。如果业务出现变更,则可能要直接修改外观类。
来源:https://www.cnblogs.com/winsons/p/12501575.html