Facade模式
What
"Facade":建筑物的正面
Facade模式是一个定义了高层接口,使得用户可以对子系统的使用更加方便并且使代码与子系统解耦的设计模式。
Why
使用场景
当需要为一个复杂子系统提供一个简单的接口时
当客户端的代码需要和抽象的实现进行解耦时
当需要建立一个有层次的子系统时,子系统之间的通信可以仅仅通过facade进行,大大降低耦合
优点
使得程序中API变少了
对客户屏蔽了子系统组件,减少了客户处理的对象数目,并使得子系统使用起来更加容易
降低了子系统与客户端之间的耦合度,使得子系统的变化不会影响调用它的客户类
How
定义一个门面接口
设计子系统
使用门面接口来实现子系统的类调用
用户调用门面接口实现功能
类图
