设计模式——外观

外观设计模式比较简单,我们平时就会用的比较多。

本质就是为了上层更加方便的使用某个系统,提供一个中间的、总结性的、相对较统一的中间层。使得系统更加易用(上层只需要使用中间层调用系统的功能就好)。

为啥叫外观模式:外观是指低一层(或者被调用层)系统的抽象出来的,对外的接口。外界其实只是使用这个接口就可以使用整个系统,也就是外界只看得到中间这层,中间层表达了被使用系统的外观。

 

外观模式中最重要的角色:中间层(中介、接口)

 

使用场景:

  • 豆浆机
  • 买房子中介
  • 我们常用的XXXTools、XXXService、XXXAssist、XXXUtils类
  • api
  • 两个模块之间的交互(抽象出来一些接口)

优点:

  • 减少系统相互依赖(解耦调用者、被调用者)。
  • 提高了安全性(对外只暴露了中介)
  • 调用方便

缺点:

修改比较麻烦,更改系统功能后,中介也可能要修改。不符合开闭原则(一般只能靠修改完成需求,不做扩展)。知道最少原则程度较高

 

和其他模式的关系:

 

有时中介会使用单例模式。

 

posted @ 2016-08-08 11:25  张驰小方块  阅读(150)  评论(0编辑  收藏  举报