简介
当各个模块的调用变得错综复杂时,可以使用中介模式,用一个中介对象完成对象交互,各个对象不需要显示的相互引用。
创建一个中介对象完成所有的调用:Mediator->A ,Mediator->B,Mediator->C,Mediator->D),而不是A->B->C->D。
优点:能够将网状结构的调用分离成星型结构,降低了类与类之间的耦合。
缺点:中介者可能会过于复杂,影响整个系统。
类图
中介者:定义List来管理同事对象,拥有协同多个同事的relay(转发)方法。
同事类:用于交互的对象,持有中介者对象(用于注册自己)互相依赖,在构造函数中传入中介者对象,将自己加入中介者对象的集合中。