定义
封装对象间的交互,使得对象之间不必显示的引用,从而可以独立的改变他们之间的交互
解决: 对象之间相互链接,关系复杂, 一个对象不可能在没有其他对象的支持下工作,系统变现为不可分割的一个整体,但类与类之间不必直接通信的问题
比如: 两个国家的摩擦,通过联合国协商, 联合国就是中介者
模式结构
代码实现
场景:美国和伊拉克通过联合国协商核武器问题
代码实现:点击下载
特点和使用场景
优点: 减少了各个Colleague的耦合,使得可以独立的改变和复用Colleague和Mediator
缺点: 由于ConcreteMediator的集中控制,把交互的复杂性变成了中介者的复杂性
使用场景: 系统中出现多对多交互复杂的对象群时