【发布时间】:2017-12-07 14:22:19
【问题描述】:
我们可以说观察者模式是两个模块(可能取决于上下文)?
认为:Subject 是另一个模块 Observer 另一个模块(它们彼此相关。好吧,我们从模式中知道这一点)。
【问题讨论】:
标签: design-patterns module ooad
我们可以说观察者模式是两个模块(可能取决于上下文)?
认为:Subject 是另一个模块 Observer 另一个模块(它们彼此相关。好吧,我们从模式中知道这一点)。
【问题讨论】:
标签: design-patterns module ooad
观察者模式既可以是一个模块,也可以是两个模块。不是那么具体。但是当两个关联的类位于不同的模块或子系统中时,观察者模式最有用。此外,它用于减少类之间的互连,让对象在不知道其他对象的类的情况下相互通信。
根据我的猜测,您可能已经研究过这张图片。在这里,Subject 和 Observer 是两个不同的类或模块。 Observer 主要是抽象类,ConcreteObserverA 和 ConcreteObserverB 实现 Observer 类的方法 notify() 来通知各自的观察者。同样,Subject 类可以处理类似于图中所示的方法。主题类通常包含通知观察者的信息。
这样就可以拆分模块了。
此外,您可以从 Timothy C.Lethbridge 和 Robert Lagniere 所著的“面向对象软件工程”一书中了解更多关于观察者模式的信息。
【讨论】: