中介者模式,适用于三个或三个以上的类之间具有复杂的依赖关系的场景。
即抽象出一个中介者类,负责处理类之间的交互行为。每个同事类只需要实现自己的独立行为,和其他类的交互行为都交给中介类实现。
优点:
1、降低耦合,将同事类多对多的关系,转换为一对一的关系
缺点:
1、业务复杂时,中介类会很膨胀,逻辑复杂,原本同事类之间的依赖关系转化为同事类对中介类的依赖关系。
tips:定义同事类时,无法抽象出一个共同的同事类接口,一般都是直接定义实现类,因为同事类之间并没有必须一致的行为(这也体现出继承的高侵入性)