1

我对中介对象很感兴趣,因为它听起来很有用,但是为了学习如何与该对象交互和构建该对象而破译代码示例使我无法理解。如果代码示例带有一些解释,无论多么简短,我都会喜欢它们。当我构建一个中介对象时,有人能够解释我正在构建什么吗?

中介对象会是处理类之间发送的动作事件的一种方式吗?还是中介对象只是更好地将类似代码整合到一个方便的地方?

我不知道它是否为了方便而实用,或者它是否实用,因为没有其他方法可以做到这一点。任何细节,无论多么“低调”,都将是最出色的。提前致谢。

4

1 回答 1

3

中介对象本身不打算做任何事情。您不应该将您已经拥有的任何逻辑移入其中,除了一些多路复用/多路分解(当一个对象将相同的消息发送到多个其他对象时)。调解器只是一个外部接口(如果它同时用作外观),并且绝对是预先存在的对象之间的消息传递通道。

同样,在您已经意识到需要这样的消息传递通道之前,不应创建中介。这种需求是怎样的?您已经有一组对象开始以越来越复杂的方式相互调用。这些对象存储彼此的引用;此类引用的数量已经超过了此类对象本身的数量。

因此,不是每个对象都与每个对象交谈(具有二次引用和复杂的交互图),而是将星型拓扑引入交互;每个人都直接与调解员交谈。然后更容易实例化、监控、调试、扩展、多态化......

不要过早开始引入调解器,否则整体复杂性会增加而不是下降。

于 2013-03-22T07:51:29.383 回答