920 B
920 B
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.(用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。)
- Mediator 抽象中介者
- Concrete Mediator 具体中介者
- Colleague 同事角色
优点
减少类间的依赖,把原有的一对多的依赖变成了一对一的依赖
缺点
中介者会膨胀的很大,而且逻辑复杂,原本 N 个对象直接的相互依赖关系转换为中介者和同事类的依赖关系
使用场景
适用于多个对象之间紧密耦合的关系,在类图中出现了蜘蛛网状结构
实际应用
- 机场调度中心
- MVC 框架
- 媒体网关
- 中介服务