设计模式(二)观察者模式

利用观察者模式,我们可以让对象(订阅者)在另一个对象(主题)数据发生改变时得到通知。并且可以运行时,决定对象(订阅者)是否继续被通知。

观察者模式

定义

观察者模式,定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。

UML结构

类关系说明

  1. Subject抽象了主题对象的接口,registerObserver、removeObserver用于增加订阅者、删除订阅者。notifyObserver用于在数据发生变化时通知订阅者
  2. Observer抽象了订阅对象的接口,暴露update(Float temp, Float humidity, Float pressure)接口供主题对象通知订阅对象时调用。

总结

观察者模式应用了OO编程的抽象特性,遵循以下原则:

  1. 为交互对象之间的松耦合设计而努力,松耦合设计更有弹性,更能应对变化

源码地址

design_pattern_learn