美文网首页
2. Facade 模式

2. Facade 模式

作者: 何大炮 | 来源:发表于2019-01-28 16:17 被阅读0次

场景

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

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

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

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

总结

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

Facade 模式应用于:

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

相关文章

  • 2. Facade 模式

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

  • Android 设计模式入门到精通之十:外观模式(Facade

    外观模式(Facade Pattern,门面模式) 1. 概念 Facade Pattern: Provide a...

  • 前端常见的9种设计模式

    本文目录: 1.概念 2.设计原则 3.设计模式的类型 前端常见设计模式1:外观模式(Facade Pattern...

  • 每日一发设计模式 - 门面模式(Facade)

    什么是Facade模式 外部和一个系统通信必须通过一个统一的门面(facade)对象进行facade模式的本质:封...

  • Facade模式

    Facade模式(外观模式) 作用 为子系统(类)提供一个简明一致的统一接口(界面),隐藏子系统的复杂度,方便用户...

  • facade模式

    将几个类方法封装一起,外部不可见 facade.h #ifndef _FACADE_H#define _FACAD...

  • Facade模式

    书中这样描述窗口模式:使用 Facade 模式可以为互相关联在一起的错综复杂的类整理出高层接口。其中的 Facad...

  • golang 项目目录组织

    domain就是各种业务逻辑facade:facade模式,不同domain可能以组合模式对外提供服务,就在这层t...

  • Facade模式(结构型)

    Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行。Facade模式提供一个...

  • Channel 网络操作的抽象类

    Channel是Netty 网络操作的抽象类,它使用了Facade 模式聚合了一组功能,看到Facade 模式我们...

网友评论

      本文标题:2. Facade 模式

      本文链接:https://www.haomeiwen.com/subject/fnvajqtx.html