观察者模式是两个模块还是一个模块?

时间:2017-12-07 14:22:20

标签: design-patterns module ooad

我们可以说Observer模式是两个模块(可能取决于上下文)?

认为:主题是另一个模块观察者另一个模块(并且它们彼此相关。嗯,我们从模式中知道)。

1 个答案:

答案 0 :(得分:2)

观察者模式可以是一个模块,也可以是两个模块。它不是那样具体的。但是当两个关联类位于不同的模块或子系统中时,观察者模式最有用。更重要的是,它用于减少类之间的互连,让对象在不知道其他对象类的情况下相互通信。

enter image description here

根据我的猜测,你可能已经研究过这张照片了。这里,Subject和Observer是两个不同的类或模块。 Observer主要是抽象类,ConcreteObserverA和ConcreteObserverB实现Observer类的方法notify()通知各个观察者。类似地,Subject类可以处理类似于图中所示的方法。主题类通常包含要通知观察者的信息。

通过这种方式,您可以拆分模块。

此外,您可以从书籍"面向对象的软件工程"中学习更多关于观察者模式的内容。由Timothy C.Lethbridge和Robert Lagniere撰写。