设计模式 - 观察者模式
定义
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
UML
实例
更新控件,委托,
- 一个对象状态的改变需要改变其他对象,或者实际对象是事先未知的或动态变化的。
- 一些对象必须观察其他对象。
比较
观察者模式、职责链模式、命令模式、中介者模式 用于处理请求发送者和接收者之间的不同连接方式。
比较 | 观察者模式 | 备注 |
---|---|---|
职责链模式 | 观察者允许接收者动态地订阅或取消接收者请求 | 职责链按顺序将请求动态传递给一系列潜在接收者,直至一名接收者处理请求。 |
命令模式 | 命令在发送者和请求者之间建立单向连接 | |
中介者模式 | 观察者在对象之间建立动态的单向连接,部分对象可作为其他对象的附属发挥作用。 | 中介者消除了发送者和请求者之间的之间连接,强制通过一个中介对象进行间接沟通 中介者是消除一系列系统组件间的相互依赖,这些组件将依赖于同一个中介者对象。 |