外观模式是对象的结构模式,要求外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
优点:
1)在不减少系统所提供的选项的情况下,为复杂系统提供了简单接口。
2)对客户端屏蔽了系统组件。
3)提高了子系统与其客户端之间的弱耦合度。
4)如果每一个子系统使用自身的Facade模式而且系统的其它部分也使用Facade模式与子系统进行通信的话,就可以降低子系统之间的耦合度。
5)将客户端请求转换后发送给能够处理这些请求的子系统。
使用场景:
1)想要为复杂的子系统提供简单的接口。
2)在客户端和抽象的实现类中存在许多依赖关系。
3)想要对子系统进行分层。
Facade 模式