【C#】【GoF】Observerパターン ~IObserver / IObservable インターフェース~

IObserver / IObservable インターフェース

* GoFデザインパターンである Observerパターンを実装することができる

IObservable<T> インターフェイス

* 通知を送信するクラスを実装する時に、使用する

構文

public class 【通知情報を送るクラス】 : IObservable<【通知する情報クラス】>
{
    private List<IObserver<【通知する情報クラス】>> observers = new List<IObserver<【通知する情報クラス】>>();

    // 処理記述
}

IObserver<T> インターフェイス

* 通知を受信するクラスを実装する時に、使用する

構文

public class 【通知情報を受け取るクラス】 : IObserver<【通知する情報クラス】>
{
    public void OnCompleted()
    {
        // 完了後の動作
    }
    public void OnError(Exception ex)
    {
        // エラー時の動作
    }
    public void OnNext(【通知情報クラス】 obj)
    {
        // 新しいデータを提供される時に呼び出される
    }
}