美文网首页
第三十二章 门面模式(Facade)

第三十二章 门面模式(Facade)

作者: JarvisTH | 来源:发表于2019-06-04 16:27 被阅读0次

属于结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。(提供一个统一的接口,来访问子系统中的一群接口)

适用场景:

  • 系统越来越复杂,增加外观模式提供简单调用接口
  • 构建多层系统结构,利用外观对象作为每层入口,简化层间调用

优点:

  • 简化调用过程,无需了解子系统,防止带来风险
  • 减少系统依赖、松散耦合
  • 更好划分访问层次
  • 符合最少知道原则

缺点:

  • 增加子系统、扩展子系统行为时容易引入风险
  • 在进行以上行为时,不符合开闭原则

相关设计模式:

  • 与中介者模式
  • 与单例模式
  • 与抽象工厂模式

业务功能变化少的比较适合实体外观类;相反,变化很多的适用抽象外观类。

源码:
springboot——jdbcUtil,mybaits——Configuration,tomcat——requestfacade,standardSessionfacade等

一、门面模式结构


角色:
  • 门面角色:客户端可以调用这个角色方法,此角色知晓相关的子系统的功能和责任,正常情况下,本角色会将所有从客户端发来的请求委派到相应子系统。
  • 子系统角色:每个子系统可以被客户端调用,或者被门面角色调用。

二、门面模式实现

1.一个系统可以有几个门面类
2.不能通过门面模式为子系统增加新行为

三、在什么情况下使用门面模式

1.为一个复杂子系统提供一个简单接口

2.提供子系统的独立性

3.层次化结构

相关文章

网友评论

      本文标题:第三十二章 门面模式(Facade)

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