观察者模式:
概念:
定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。
别名 发布与订阅模式 模型与视图模式 源监听模式 从属者模式
角色 Subject目标、主题、被观察对象 定义观察者集合 提供方法增加和删除观察者对象 定义通知方法notify 可以是接口、抽象类或具体类 ConcreteSubject具体目标 包含经常发生改变的数据 状态改变向观察者发出通知 Observer观察者 对观察目标的改变做出反应 声明更新数据的方法update ConcreteObserver具体观察者 存储具体观察者的状态 实现update方法 调用目标类的attach方法,加入集合 或通过delete方法将自己从目标类的集合中删除
例子:
参考资料:
https://www.cnblogs.com/luohanguo/p/7825656.html
https://www.cnblogs.com/jiqing9006/p/6009750.html