design-patterns - 观察者模式如何减少耦合?

标签 design-patterns observer-pattern

我了解观察者模式的工作原理,但是为什么观察者模式减少了软件设计中 UI 和业务逻辑组件之间的耦合?

最佳答案

The Observer pattern减少了参与者之间的耦合,因为它在 Subject 和它的 Observers 之间引入了一个抽象类型 Observer。

想象一个模型(四人组/维基百科描述中的主题,以及业务逻辑的所在地)和一个 View (一个观察者)。如果没有观察者,模型将需要在 View 更改时调用 View 上的方法。 Model 将知道 View 的具体类并与之耦合,以及 View 所属的任何 UI 特定框架。

使用 Observer,Model 只知道 Observer 的类型(抽象类或接口(interface)),因此它不耦合到具体的 View。

关于design-patterns - 观察者模式如何减少耦合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36868384/

相关文章:

performance - 胖域模型=>低效率?

java - CDI - 当观察者观察到事件时是否通知调用者?

c# - 读取可观察的 TAP 模式

ios - 键值观察外观类上的静态 NSDictionary

java - 命令模式如何将发送者与接收者解耦?

php - 用于 Code Igniter 模型的完整抽象工厂模式

design-patterns - 开发 VSX 包或独立 Shell 包时最适合使用哪些模式?

java - 构建器模式不起作用

c++ - 如何在 Objective C 中实现 C++ 观察者模式

rust - 如何在 Rust 中实现观察者模式?