设计模式 - 中介者模式

定义

Define an object that encapsulates how a set of objects interact.
Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently.

UML

实例

MVC,GUI,

  1. 一些对象和其他对象紧密耦合难以对其进行修改。
  2. 组件因过于依赖其他组件而无法在不同应用中复用。
  3. 在不同情景下复用一些基本行为,导致需要创建大量组件子类。

比较

中介者模式、职责链模式、命令模式、观察者模式 用于处理请求发送者和接收者之间的不同连接方式。

比较 中介者模式 备注
职责链模式 中介者消除了发送者和请求者之间的之间连接,强制通过一个中介对象进行间接沟通 职责链按顺序将请求动态传递给一系列潜在接收者,直至一名接收者处理请求
命令模式 命令在发送者和请求者之间建立单向连接
观察者模式 中介者是消除一系列系统组件之间的相互依赖。这些组件将依赖于同一个中介者对象。 观察者允许接收者动态地订阅或取消接收请求
观察者在对象间建立动态的单向连接,使得部分对象可作为其他对象的附属发挥作用
外观模式 两者都尝试在大量紧密耦合的类中组织起合作。
中介者将系统中组件的沟通行为中心化
各组件只知道中介者对象,无法直接交互
外观为子系统定义一个简单接口,但不提供任何新功能。
子系统不会意识到外观的存在
子系统中的对象可以直接进行交流
posted @ 2022-04-21 23:52  wesson2019  阅读(16)  评论(0编辑  收藏  举报