中介者模式

设计模式主要优化和规划了对象的创建,对象的协作以及对象功能划分上的问题。

何为中介者

概念:中介者模式(Mediator),用一个中介者对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可 以独立地改变他们之间的交互。

中介者模式又叫做调停者模式,其实就是中间人或者调停者的意思;Mediator,按照作用划分: 中介者和观察者均作为对象去耦合!

何时使用中介者

  • 对象间的交互虽定义明确然而非常复杂,导致一组对象彼此相互依赖而且难以理解。
  • 因为对象引用了许多其他对象并与其通信,导致对象难以复用。
  • 想要定制一个分布在多个类中的逻辑或者行为,又不想生成太多子类。

中介者应该知道参与流程的所有对象(控制器等);

枚举类型所有参与者对象类型 (潮自拍,美妆相机,AirBrush);
启动者调用告知 中介者需要什么类型处理,中介者发送一个动作消息处理 ;

CocoaTouch中,UINavigationViewController就是属于一个中介者; MVC 设计模式中
控制器(ViewController)是一个协调所有工作的中介者(Mediator)。它访问模型中的数据并在视图中展示它们,同时它们还监听事件和根据需要操作数据。

项目实践

切记 中介类不是上帝类,在子类繁多结构复杂的情况下,需要根据业务逻辑处理避免解耦造成后期维护困难的问题!

CocoaTouch

你可能感兴趣的:(中介者模式)