定义 用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互
类图
优点
减少类间的依赖,把原有的一对多的依赖变成了一对一的依赖,降低了类间耦合性
使用场景
适用于对象之间紧密耦合的情况。实际中的应用如MVC框架(Struts(Controller)就是一个中介者,它把M和V隔离开,协调M和V协同工作,减小M和V的依赖关系)。媒体网关,如MSN服务器(QQ)就是一个中转站,而飞鸽(IPMsg)直接使用UDP广播方式,就没使用中介者