外观模式设计模式

外观模式定义

为多个复杂的子系统提供一个一致的接口,从而使这些子系统更加容易的被访问。外部系统访问的时候,只会关心该接口,不会关注内部细节。

外观模式详解

使用场景

  • 设计初期极端,应该有意识的将不同层分离,层与层之间建立外观模式。
  • 开放阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
  • 当一个系统的功能越来越复杂,依赖的子系统越来越多,客户对系统的访问也变得越来越复杂。这个时候如果系统内部发生改变,客户端也会跟着变化,所以就可以建立一个统一的接口来维护这些负责系统,在新系统需要与这些子系统交互的时候,直接调用该接口,方便接入和维护。

图解

13 外观模式图解.png

外观模式优缺点

优点

  1. 实现了子系统与客户端系统之间的松耦合关系。
  2. 客户端屏蔽了子系统,减少了对各个子系统的引用与维护,使得客户端使用起来更加方便。

缺点

  1. 不能很好地限制客户使用子系统类。
  2. 增加新的子系统需要修改外观类或者客户端的源码,违背了 “开闭原则”。

外观模式总结

设计模式中外观模式将不同子系统之间的方法维护到一起,统一提供给客户端调用,将具体的复杂功能自己兜住,减少了客户端调用复杂度,提升了软件开发效率。