美文网首页
第三十二章 门面模式(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