定义
- 定义一个,封装一组对象如何交互的对象;
- 通过使对象明确地相互引用来促进松散耦合,并允许独立地改变它们的交互;
适用场景
- 系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解;
- 交互的公共行为,如果需要改变行为则可以增加新的中介者类;
- 我觉得哈,n个对象间相互通信形成n * n的通信网的时候,用一个中介者维护起来n个对象,从而化解了n个对象间的相互引用,变成n个对象对中介者的1对1的引用关系;
优点
- 将一对多转化成了一对一,降低程序复杂度;
- 类之间解耦;
缺点
- 中介者过多,导致系统复杂;
相关设计模式
- 中介者模式 & 观察者模式;