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

Design patterns 观察者模式是两个模块还是一个模块?,design-patterns,module,ooad,Design Patterns,Module,Ooad,我们可以说观察者模式是两个模块(可能取决于上下文) 思考:主题是另一个模块观察者另一个模块(它们相互关联。我们从模式中知道这一点)。观察者模式可以是一个模块或两个模块。它不是那样具体的。但当两个相关的类位于不同的模块或子系统中时,观察者模式最有用。此外,它还用于减少类之间的互连,让对象在不知道其他对象的类的情况下彼此通信 根据我的猜测,你可能已经研究过这幅画了。这里,Subject和Observer是两个不同的类或模块。Observer主要是抽象类,ConcreteObserverA和Conc

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


思考:主题是另一个模块观察者另一个模块(它们相互关联。我们从模式中知道这一点)。

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

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

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


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

我还认为,有一种观察者模式,就是两个模块可以说是(好吧,不管上下文如何)?模式的本质观测者是这样说的:“当两个相关的类位于不同的模块或子系统中时,观测者模式最有用”。好的,设计原则通常是不同的,但是如果你需要具体的回答,那么说“观测者模式在两个模块中使用”是正确的