14

正如标题所述,您何时会推荐使用中介者设计模式,您认为它在哪里使用不正确?

4

3 回答 3

21

当对象通信的复杂性开始阻碍对象的可重用性时,使用中介。这种类型的复杂性经常出现在视图实例中,尽​​管它实际上可能在任何地方。

误用调解器可能会破坏调解器的同事类的接口。

谈论滥用模式似乎有点有趣。如果您的实现遵循该模式,那么您已经使用了该模式。否则,你没有。换句话说,如果您的调解员正在做其他事情,那么它可能不是调解员。模式是由它们所做的,它们实际上是什么来定义的。事物的名称只是标签。

要问自己的真正问题是,您对模式的实现是否实现了该模式对您的设计的承诺。中介者模式旨在在复杂的对象间通信变得难以管理时对其进行封装。如果它没有做到这一点,或者没有做得很好,你可以说中介被滥用了。在某些时候,它变成了一种价值判断。

于 2008-12-17T04:04:31.097 回答
2

我用它来处理摇摆应用程序。

当我构建一个 GUI 时,我不喜欢每个控件相互了解,因为这需要子类化。

相反,我有一个包含侦听器和小部件的 Main 对象,并让它在不同的控件、按钮、文本字段等之间进行调解。

于 2008-12-17T03:59:46.943 回答
1

中介也基本上是事件泵。GUI 和游戏中非常常见的模式。

此外,我之前使用过调解器在非常不同的系统和遗留框架之间进行通信。

于 2008-12-17T04:37:46.070 回答