2. Facade 模式

2019-01-28  本文已影响0人  何大炮

场景

小王团队要使用一个系统的接口,但是这个系统的接口有很多,而且相关的接口说明都有五六百页。小王只需要其中一部分接口就行。

如果让每个人都去读这些文档,那么这个将耽误大家的时间,而且每个人的理解都可能不一样,这就会造成很多问题。

怎么办呢?小王决定就自己一个人来读这个文档,选出要用的接口,重新包装并定义。这样大家就只需要理解和使用他包装的新的接口,其他的什么都不用管了。

这里小王做的,就是Facade 模式。

总结

意图:希望简化原有的系统的使用方式。需要定义自己的接口。
问题:只需要使用某个复杂系统的子集,或者,需要以一种特殊的方式与系统交互。
解决方案:为原来的用户提供一个新的接口。
效果:该模式简化了对所需子系统的使用过程。但是它不完整,所以用户可能无法使用某些功能。

Facade 模式应用于:

  1. 不需要使用复杂系统的所有功能,而且可以创建一个新的类,访问系统所有的规则。如果只需要访问系统的部分功能,那么这个新的API就要比原来的API简单很多。
  2. 希望封装或者隐藏原系统。
  3. 希望使用原系统的功能,同时希望增加一些新的功能。
  4. 编写新的接口的代价小于所有人都学会或者维护原来旧的API的代价。
上一篇 下一篇

猜你喜欢

热点阅读