观察者模式(Observer)
模式定义
定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题 对象,当主题对象发生变化时,它的所有依赖者都会收到通知并更新。
应用场景
当更改一个对象的状态可能需要更改其他对象,并且实际的对象集事先 未知或动态更改时,请使用观察者模式。
优点
- 符合开闭原则
- 可以在运行时建立对象之间的关系
jdk&源码中的应用
- JDK: java.util.Observable
- Spring: org.springframework.context.ApplicationListener