美文网首页
18. Facade模式

18. Facade模式

作者: 0x70e8 | 来源:发表于2018-08-14 20:39 被阅读0次

是什么

在调用大程序进行处理时,需要注意那些数量庞大的类之间复杂的关系,如果为这个大程序提供一个简单的窗口,就可以隐藏很多的复杂性。整理出窗口的方式就是Facade模式的应用。

使用Facade模式可以为互相关联的类整理出高层接口(API),其中Facade角色可以让系统对外只有一个简单的接口。

实际上这个Facade模式就相当于一个工具类,把复杂的逻辑和涉及的类封装起来,只提供简单明了的接口。

  • 类图
image

总结

Facade模式可以让复杂的东西看起来简单,因为它将复杂的东西隐藏在内部,只公开了简单易用的接口,使得接口变少了。

接口变少意味着程序与外部的关联弱化了,这样更容易使得我们的包作为组件被复用。
在设计类时,我们需要考虑哪些方法的可见性设为public,如果公开的方法或字段太多,就会导致修改变得困难,因为一旦公开出去,代码就变得不可控,因为我们无法知道其他的类是如何使用这些方法和字段的。这也是需要封装的意义。

抽象工厂模式可以看作是生成复杂实例的Facade模式,提供了简单的接口来对应复杂的逻辑。

相关文章

  • 18. Facade模式

    是什么 在调用大程序进行处理时,需要注意那些数量庞大的类之间复杂的关系,如果为这个大程序提供一个简单的窗口,就可以...

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

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

  • 每日一发设计模式 - 门面模式(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 模式我们...

  • 门面模式(Facade)

    Facade模式的几个要点 从客户程序的角度来看,Facade模式不仅简化了整个组件系统的接口,同时对于组件内部与...

网友评论

      本文标题:18. Facade模式

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