意图:
用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合
松散,而且可以独立地改变它们之间的交互。
分析:
在做软件设计时我们将一个系统分割成许多对象通常可以增加其可复用性,但是对象间相互连接的激增
又会降低其可复用性。导致这种现象的原因是:大量的连接使得一个对象不可能在没有其他对象的支持
下工作,系统表现为一个不可分割的整体,所以,对系统的行为进行任何较大的改动就十分困难了。
“迪米特法则”,如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中
一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。以国与国之间的外交为例
如果是国与国之间直接交涉,那么很多事情根本就没法处理。采用“迪米特法则”后就可以将复杂的网络
外交转化为星形外交,无首则乱也正是这个道理。
中介者模式结构: