中介者模式:用一个中介对象来分装一系列对象的交互。中介者模式使得各个对象之间不需要直接打交道,从而使他们松散耦合。可以独立的改变他们之间的交互。
如果你第一次接触中介者模式,你一定从上图看不出他的作用来。下图更能说明问题, 中介者模式就是要把左边的结构变成右边的结构:
现实中一个更恰当的例子就是联合国,如果没有联合国,则各国之间的关系如下图的左边,在有联合国之后,国与国之间的争执可通过联合国来处理。
基础代码:
优点:把中介者作为一个独立的概念,可使对象之间的关系转为对象和中介者之间的关系, 可站在一个宏观的角度看问题。
缺点:中介者集中控制关系,使得中介者变得复杂。