0%

Mediator

1. 意图

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

2. 适用场景

  • 系统中对象之间存在比较复杂的引用关系, 导致它们之间的依赖关系结构混乱而且难以复用该对象

3. 实现

3.1. 参与者

3.2. 结构

3.3. 特点

  • 简化了对象之间的关系, 将对象间的关系封装于 Visitor 中
  • Visitor 提供了对象间交互的平台, 使原本多对多的关系转化为一对一
  • Colleague 可以独立, 易于复用
  • 系统将以 Visitor 为中心, 当它出现问题时, 可能影响整个系统
  • 新增 Colleague 时, 必须修改 Visitor

3.4. 开发规范

  • Colleague 之间的职责必须明确