中介者模式
一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。中介者模式有称为停调者模式,它是一种对象行为模式。
中介者模式结构图
中介者模式主要优缺点
优点
1.中介模式简化对象之间的交互,它用于中介者和同事的一对多交互代替了原来同事之间的多对多交互,一对多关系更容易理解,维护和扩展,将原本难以理解的网状结构转化成相对简单的星形结构
2.中介者模式可以将个同事对象解耦,总结着有利于各同事之间的松耦合,可以独立地改变和复用每一个同事和中介者,增加新的中介者和新的同事类都比较方便,更好地符合开闭原则。
3.可以减少大量同事子类生成,中介者将原本分布于多个对象之间的行为集中在一起,改变这些行为只需要生成新的中介者子类即可,这使得各个同事类可以被重用,无须对同事类进行扩展。
缺点
具体中介者类中包含了大量同事之间的交互细节,可能导致具体中介者类非常复杂,是的系统难易维护。
中介者模式使用场景
1.系统中对象之间纯在复杂的引用关系,系统结构混乱且难以立即
2.一个对象由于引用了其他很多对象,并且直接和这些对象通信,导致难易复用该对象,
3.通过一个中间类封装多个类中的行为,而且有不想生成多个子类。