在java中实现观察者设计模式很简单,被观察者继承Observable ,观察者实现observer 接口即可。实现其中的方法即可。在被观察者中添加删除观察者,以及setChange() 和 notifyObservers()。在观察者中 update(Observable obj,Object arg)做响应的动作即可。
在查看java 的源代码时会看到,在Observable 类中维护了一个Vector,用以存放观察者,当notifyObservers时遍历集合,调用他们的update(Observable obj,Object arg)方法。真正的实现就这么简单。