オブザーバー パターンで新しいオブザーバーに「初期状態」を公開するための推奨イディオムはありますか?
オブザーバー パターンを説明する利用可能な資料と例のほとんどは、オブザーバーが変更の通知を受けることに関心があることを前提としていますが、「初期状態」 (オブザーバーが変更をサブスクライブする時点の現在の状態) は気にしません。
1 つの可能性は、サブスクライブ時に新しいオブザーバーに「初期」(現在の) 状態をプッシュすることです。
public class MyObservable extends java.util.Observable
{
public synchronized void addObserver(Observer observer)
{
super.addObserver(observer);
// Push current state to this observer
observer.update(this, currentState);
}
}
より良い/好ましいアプローチはありますか?