什么是Facade模式,先讲故事,如果你希望快速知道如何用自己的代码调用已存在系统的接口,但另外一个系统是如果的复杂,你和它没有共同语言,也就是你不知道它是如果的接口体系,它的文档如果多,短时间内无法马上利用它,但在你的团队里有一位成员就是这个复杂系统的设计者,他非常此系统,关键是团队里的其它成员和他非常容易交流,于是项目负责决定让这位非常熟悉复杂系统的成员开发一系列利于团队成员快速上手又能部分完成复杂系统功能调用的接口,然后大家都用这位非常熟悉这复杂系统的成果来交互,这里,项目负责人就用了一顺外观模式,把复杂系统调用用自己团队熟悉的接口抹平了,大家不用直接用复杂的复杂,都觉得现在的接口非常明了 ;
总结:Facade模式关键特征
1,意图: 希望简化现在系统的使用方法,你需要定义自己的接口.
2,问题: 只需要使用一个复杂系统的一个子集。或者,一种特殊的方式与系统交互.
3,解决方案,Facade向客户展现使用现在系统的一个新的接口。
4,参与者与协作者:向客户指定一个定制的接口,让客户更容易地使用现在的系统。
5,效果: Facade模式简化了对所需子系统的使用。但是,由于Facade并不完整,因此,某些功能对于客户可能是不可用的。
6,实现: 定义一个(或一组)新的类来提供所需的接口;让新的类使用现在的系统。