观察者模式是如何降低耦合的?
How does the Observer pattern reduce coupling?
我了解观察者模式的工作原理,但为什么观察者模式降低了软件设计中UI与业务逻辑组件之间的耦合?
The Observer pattern 减少了参与者之间的耦合,因为它在 Subject 和它的 Observers 之间引入了一个抽象类型 Observer。
想象一个模型(Four/Wikipedia 描述组中的主题,以及业务逻辑的主页)和一个视图(观察者)。如果没有观察者,模型将需要在视图发生变化时调用视图上的方法。模型会知道 View 的具体 class 并耦合到它,以及视图所属的任何 UI 特定框架。
有了Observer,Model只知道类型(抽象class或接口)Observer,所以它不耦合到具体的View。
我了解观察者模式的工作原理,但为什么观察者模式降低了软件设计中UI与业务逻辑组件之间的耦合?
The Observer pattern 减少了参与者之间的耦合,因为它在 Subject 和它的 Observers 之间引入了一个抽象类型 Observer。
想象一个模型(Four/Wikipedia 描述组中的主题,以及业务逻辑的主页)和一个视图(观察者)。如果没有观察者,模型将需要在视图发生变化时调用视图上的方法。模型会知道 View 的具体 class 并耦合到它,以及视图所属的任何 UI 特定框架。
有了Observer,Model只知道类型(抽象class或接口)Observer,所以它不耦合到具体的View。