引用:《 Objective-C编程之道 iOS设计模式解析》
定义: 用一个对象来封装一系列交互方式。中介者使各个对象不需要显示地相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。
何时使用:
- 对象间的交互虽定义明确然而非常复杂,导致一组对象彼此相互依赖而且难以理解;
- 因为对象引用了许多其他对象并与其通讯,导致对象难以复用;
- 想要定制一个分布在多个类中的逻辑或行为,又不想生成太多子类;
对象间耦合高,不利于扩展、修改等操作。
优点:减少对象之间的耦合;缺点:Mediator变得臃肿,不好维护。
场景:使用中介者类统一管理不同视图跳转。
Mediator:CoordinatingController ,并定义方法MethodA:
。
Colleague:ViewController01、ViewController02、ViewController03 等
其中Colleague类持有对Mediator类的实例引用coordinatingController_
。
当用户希望从ViewController01 跳转到 ViewController02 时,通过coordinatingController_
调用方法 MethodA:
,而方法MethodA:
中实现具体跳转操作。