Observer パターン

オブジェクト間の1対多の依存関係を定義するパターン

Observer パターンとは

Observer パターンは、あるオブジェクトの状態が変化したときに、依存するすべてのオブジェクトに自動的に通知するパターンです。

実装例

interface Observer {
  update(message: string): void;
}

class Subject {
  private observers: Observer[] = [];

  subscribe(observer: Observer) {
    this.observers.push(observer);
  }

  notify(message: string) {
    this.observers.forEach(o => o.update(message));
  }
}

使用場面

  • イベント駆動システム
  • リアクティブプログラミング
  • MVC アーキテクチャ

目次