
使用观察者模式用到 java.util 的两个类或接口,Observer 和 Observable。
角色:观察者和被观察者。
观察者需要实现 Observer 接口,该接口只有一个 update 方法,第一个参数表示的被观察者对象,第二个参数表示的是 Observable 的 notifyObserver 的参数(具体里面怎么实现的也不是很清楚)。
被观察者需要继承 Observable,当你要调用到某个方法需要让观察者观察到时,在方法中调用 Observable 的 setChange() 和 notifyObserver() 方法就行了。
贴上代码:
1 | // 被观察者: |
Spring 对观察者模式也做了包装,在配置文件中配置观察者和被观察者就行了,不用在被观察者中代码添加观察者: