Skip to content

Latest commit

 

History

History
25 lines (19 loc) · 1.27 KB

外观模式.md

File metadata and controls

25 lines (19 loc) · 1.27 KB

#外观模式

###定义 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

###外观模式的目的

不是给子系统添加新的功能接口,而是为了让外部减少与子系统内多个模块的交互,松散耦合,从而让外部能够更简单的使用子系统。

###优缺点

  1. 优点
    • 松散耦合
    • 简单易用
    • 更好的划分访问的层次
  2. 缺点
    • 过多的或者是不太合理的Facade也容易让人迷惑。到底是调用Facade好还是直接调用模块好。

###本质 封装交互,简化调用

###何时选用外观模式

  • 如果你希望为复杂的子系统提供一个简单接口的时候,可以考虑使用外观模式。使用外观对象对实现大部分客户需要的功能,从而简化客户的使用。
  • 如果想要让客户程序和抽象类的实现部分松散耦合,可以考虑使用外观模式,使用外观对象来将这个子系统与它的客户分离开来,从而提高子系统的独立性和可移植性。
  • 如果构建多层结构的系统,可以考虑使用外观模式,使用外观对象作为每层的入口,这样就可以简化层间调用,也可以松散层次之间的依赖关系。