中介者模式:用一个对象来封装一系列对象的交互方式。中介者使各种对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间地交互。中介者模式以中介者内部的复杂性代替交互的复杂性。中介者模式不只适用于把各种对象间错综复杂的关系集中化,也适合组织两个不同视图间视图迁移。
在以下情形中,自然会考虑使用这一模式:
1、对象间的交互虽定义明确然而非常复杂,导致一组对象彼此相互依赖而且难以理解;
2、因为对象引用了许多其他对象并与其通讯,导致对象难以复用;
3、想要定制一个分布在多个类中的逻辑或行为,又不想生成太多子类。
典型:MVC模式中的控制器对象、UINavigationController控制器
我的理解:面向对象的设计鼓励把行为分散到不同对象中。但是不同的对象之间又需要交互,这个时候需要我们把这些对象与对象之间交互的代码集中到一个对象中(如视图控制器),这样能够方便管理或统一修改。如果将这些交互代码散落到不同的对象中,将大大增加维护代码的成本。所以是用中介者模式统筹管理很多有逻辑关联的对象,提高代码的可读性和可维护性。 -2014.2.10
原文:http://blog.csdn.net/zyx586/article/details/19047925