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

一、概念

中介者模式(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 将会膨胀。

其他

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

你可能感兴趣的:(行为型设计模式.中介者模式)