在《Head First 设计模式》这本书中,有观察者模式
可是我看里面写的,气象站的代码,觉得有问题。
观察者对象里包含了被观察对象,为什么update方法还要再传呢
public class CurrentCondition1Display implements Observer,DisplayElement {
Observable observable;// ?????????????
public CurrentCondition1Display (Observable observable) {
this.observable = observable;
observable.addObserver(this);
}
public void update(Observable observable, Object localeObj) { // ?????????????
//在new观察者对象时,已经把主题对象传进来了呀
}
/**
* A class can implement the <code>Observer</code> interface when it
* wants to be informed of changes in observable objects.
*
* @author Chris Warth
* @see java.util.Observable
* @since JDK1.0
*/
public interface Observer {
/**
* This method is called whenever the observed object is changed. An
* application calls an <tt>Observable</tt> object's
* <code>notifyObservers</code> method to have all the object's
* observers notified of the change.
*
* @param o the observable object.
* @param arg an argument passed to the <code>notifyObservers</code>
* method.
*/
void update(Observable o, Object arg);
}
随时随地看视频