观察者模式(Observer Pattern)
定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并且自动更新。并且有“推”和“拉”两种通知方式。
设计原则:为了交互对象之间的松耦合设计而努力
问题:
现在需要建立一个Internet 气象站,WeatherData 对象可以追踪目前的天气状况,现在有三个布告板,分别显示目前的状况,气象统计以及简单的预报。当WeatherData获取了最新的数据的时候,三种布告板必须实时更新。
下面来看一个例子:
鸭子对象过来告诉主题,它想当一个观察者