美文网首页
行为型设计模式.中介者模式

行为型设计模式.中介者模式

作者: 双鱼子曰1987 | 来源:发表于2020-12-10 11:41 被阅读0次

    一、概念

    中介者模式(Mediator Pattern)又被称为调停者模式,是一种对象的行为模式。
    它可以将对象间网状的关系,通过中介类转变为星型的关系。

    1.1、定义

    用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。


    51234549-802B-4599-99BC-ECB7A83CE99E.png
    • Mediator,中介者:注册具体的同事类;负责同事类间交互,最为核心的类。
    • Colleague,同事类:多个类的通用抽象接口
    • ConcreteMediator,具体的中介类
    • ConcreteColleague,具体的同事类

    注意:中介者的模式是为了 解耦 系统中 很多类间的关联交互而设计,必然有个Mediator中介者类;然后为了统一众多类的交互,必须设计抽象接口,在这称为同事类Colleague

    1.2、解决的问题
    • 问题分析:系统中的多个类彼此关联相互耦合,形成了网状结构。


      中介者_1.png
    • 中介者的解决思路:将上述网状结构分离为星型结构。


      中介者_2.png

      以上图来自第三方,借用依次说明问题!

    二、模式的应用和优缺点

    2.1、应用场景
    • 实例:虚拟聊天室
      某论坛系统欲增加一个虚拟聊天室,允许论坛会员通过该聊天室进行信息交流,普通会员(CommonMember)可以给其他会员发送文本信息,钻石会员(DiamondMember)既可以给其他会员发送文本信息,还可以发送图片信息。该聊天室可以对不雅字符进行过滤,如“日”等字符;还可以对发送的图片大小进行控制。用中介者模式设计该虚拟聊天室。

    • 实例:MVC模式
      Controller 可以理解为 Model 和 View 的中介者类,Model和View则为同事类。

    2.2、优缺点
    • 优点:可以使对象之间的关系数量急剧减少。
    • 缺点:优点即是缺点,由于交互都封装到 中介者类Mediator 中,如果类很多、关系特复杂,那么Mediator 将会膨胀。

    其他

    通俗易懂设计模式解析——中介者模式

    相关文章

      网友评论

          本文标题:行为型设计模式.中介者模式

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