Facade模式(外观模式)
为子系统中的一组接口提供一个统一的接口。Facade模式定义了一个更高层的接口,使系统更容易使用。
Facade模式 | 关键特征 |
---|---|
意图 | 希望简化 原系统的使用方式 。需要定义自己的接口 |
问题 | 只要使用某个系统的子集,或者,需要以一种特殊的方式与原系统交互 |
解决方案 | Facade模式为原有系统的客户提供了一个新的接口 |
参与者与协作者 | 为客户提供一个简化的接口,使系统更容易使用 |
效果 | Facade模式简化了对所需子系统的使用过程,但是,由于Facade并不完整,因此客户可能无法使用某些功能 |
实现 | 1、定义一个(或多个)具备所需接口的新类 2、让新的类使用原有系统 |
Facade模式允许在新类中加入一些新的功能。(这样就不仅仅是使用系统的部分功能了。)
Facade还可以用来隐藏和封装系统,即将子系统作为私有成员包含进来。
Facade模式使用的原因:
1、跟踪系统使用情况
2、改换系统
PS:Facade模式——外观模式,其命名原因:在原系统之前放入了一个新的接口(即外观)。
参考《设计模式解析》第二版