Facade 模式
为子系统中的一组接口提供一个统一接口,Facade 模式定义了一个更高层的接口,使子系统更加容易使用。
关键特征:
意图:希望简化原有系统的使用方式,需要定义自己的接口。
问题:只需要使用某个复杂系统的子集,或者,需要以一阵特殊的方式与系统交互。
解决方案:Facade 为原有系统的客户提供了一个新的接口。
参与者与协作者:为客户提供一个简化接口,使系统更容易使用。
效果:Facade 模式简化了对所需子系统的使用过程。但是由于 Facade 并不完整,因此客户可能无法使用某些功能。
实现:1、定义一个(或多个)具备所需接口的新类; 2、让新的类使用原有的系统。
如果 Facade 能够设计成为无状态的(也就是说,其中没有存储状态),则一个 Facade 对象就能够被多个其他对象使用。