Version: Next
Facade外观模式
定义:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高级接口,这个接口使得这一子系统更加容易使用。
源发问题
客户端使用一个复杂子系统功能时,如果是针对子系统中的每个类的接口进行调用,则会与子系统形成复杂的耦合关系
解决方案
定义一个外观类Facade,客户代码通过它与子系统进行交互,外观类作为客户端的调用提供统一的接口
UML类图
代码
优缺点
- 优点 为子系统提供一致的访问入口,这个入口使得这一子系统更加容易使用,并且屏蔽了子系统内部的复杂逻辑,从而实现了子系统和客户端代码的弱耦合
- 缺点 Facade有可能变为胖接口而与接口隔离原则相悖