Pedia

Observerパターン(オブザーバーパターン)

おぶざーばーぱたーん

English: Observer Pattern

意味

Observerパターンとは、あるオブジェクト(Subject)の状態が変化したときに、それに依存する全てのオブジェクト(Observer)に自動的に通知されるようにするデザインパターン。

概要

GoFのデザインパターンの一つ。 「観察者(Observer)」という名前の通り、あるオブジェクト(観察対象)の状態が変化した時に、それを監視している他のオブジェクト(観察者)たちに自動的に「変わったよ!」と通知する仕組み。 Publish(発行)/Subscribe(購読)モデルとも呼ばれる。

仕組み

  1. Subject(発行者): ニュースを配信する新聞社のような役割。「新しいニュースが出ました」と通知する。
  2. Observer(購読者): 新聞を受け取る読者。通知が来たら、「読む」などの行動を起こす。

メリット

発行者は、誰が購読しているかを知る必要がない(疎結合)。 「ボタンが押されたら(Subject)、画面の色を変えたり、ログを出したり、音を鳴らしたりする(Observers)」といった処理を、互いに依存させずに柔軟に追加・削除できるため、GUIプログラミング(ReactやVueなど)で頻繁に使われる。

TOP / 検索 Amazonで探す