针对问题

假设多个相互关联的类组成了一个子系统,其他系统在使用这个系统功能的时候必须知道这些类的功能,这无疑加大了使用难度。Facade模式为外部提供了一个统一的调用接口,系统外部想要使用子系统功能时不再需要了解各类型的细节,这类似于面向对象中接口与实现的关系。

介绍

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

实现

Facade模式的实现比较简单,如下图:

Facade需要为客户提供完整的接口,客户在使用子系统时可以不必直接访问子系统中的其他对象。

特点

1、使用Facade模式可以降低子系统的使用难度,并降低系统间的耦合度。
2、调用方如果了解子系统的实现方式也可以跳过Facade,直接使用具体业务对象。

相关文章

设计模式总结

参考文章

  1. 《设计模式_可复用面向对象软件的基础》,
Read the rest