Facade模式的主要思想:
为子系统中的一组接口提供一个统一的接口, 定义了一个更高层的接口, 使子系统更加容易使用.
意思是说, 我们需要用一种比原有方式更简单的办法与系统交互, 或者说, 我们需要以一种特殊方式使用系统(例如以二维的方式使用一个三维绘图程序). 因为对于一个复杂的系统我们只需要使用它的一个子集, 所以我们可以创建更简化的交互方式来提高工作效率.
facade 英 [fəˈsɑ:d] 美 [fəˈsɑːd] n(名词).外表;建筑物的正面;虚伪,假象.
Facade模式之所以如此命名, 是因为他在原系统之前放了一个新的接口(即外观).
Facade模式可以应用于以下情况.
- 不需要使用一个复杂系统的所有功能, 可以创建一个新的类, 包含该系统的所有访问规则. 从而简化了供使用的API.
- 希望封装或隐藏原系统.
- 希望使用原系统的功能, 而且还希望增加一些新功能.
- 编写新类的成本小于所有人学会使用或者未来维护原系统上所需的成本.