今天看啥  ›  专栏  ›  御史神风

设计模式3-5:中介者模式

御史神风  · 简书  ·  · 2018-09-13 18:53

What

中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。

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

Why

对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应的处理。

解决多个类相互耦合,形成网状结构的情况。

  • 降低了类的复杂度,将一对多转化成了一对一。
  • 各个类之间的解耦。
  • 符合迪米特原则。

How

将上述网状结构分离为星型结构。
对象 Colleague 之间的通信封装到一个类中单独处理。使用独立类来处理通信。
不应当在职责混乱的时候使用。




原文地址:访问原文地址
快照地址: 访问文章快照