观察者模式:
在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖他的对象都会收到通知,并自动更新。
例:设计气象站,把WeatherData对象当作主题,把布告板当作观察者,
1、
2、使用Java内置的观察者模式:
setChanged()方法用来标记状态已经改变的事实,好让notifyObservers()知道当它被调用时应该更新观察者。(setChanged()方法更多的弹性、更适当地通知观察者)
观察者和可观察者之间用松耦合方式结合,可观察者不知道观察者的细节,只知道观察者实现了观察者接口。
使用此模式时,你可从被观察者处推或拉(push或pull)数据。
java有多种观察者模式的实现,包括:java.utill.Observable、Swing。