swing的事件通知模型是典型的观察者模式,熟悉swing开发的程序员对观察者模式一定不陌生。
JDK提供了对观察者模式的支持,通过java.util.Observer接口和java.util.Observable类提供了观察者通知和状态更新的框架。
实现观察者模式需要被观察对象继承java.util.Observable,并在被观察对象的状态(或属性)发生改变时调用setChanged()和notifyObservers()两个方法,以通知观察者。
观察者需要实现java.util.Observer接口,并在要实现的update(Observableo, Object arg)接口方法中做更新状态等操作。
JDK提供的框架使得实现观察者模式变得简单且标准化。