Observerパターン(オブザーバーパターン)
おぶざーばーぱたーん
English: Observer Pattern
意味
Observerパターンとは、あるオブジェクト(Subject)の状態が変化したときに、それに依存する全てのオブジェクト(Observer)に自動的に通知されるようにするデザインパターン。
概要
GoFのデザインパターンの一つ。 「観察者(Observer)」という名前の通り、あるオブジェクト(観察対象)の状態が変化した時に、それを監視している他のオブジェクト(観察者)たちに自動的に「変わったよ!」と通知する仕組み。 Publish(発行)/Subscribe(購読)モデルとも呼ばれる。
仕組み
- Subject(発行者): ニュースを配信する新聞社のような役割。「新しいニュースが出ました」と通知する。
- Observer(購読者): 新聞を受け取る読者。通知が来たら、「読む」などの行動を起こす。
メリット
発行者は、誰が購読しているかを知る必要がない(疎結合)。 「ボタンが押されたら(Subject)、画面の色を変えたり、ログを出したり、音を鳴らしたりする(Observers)」といった処理を、互いに依存させずに柔軟に追加・削除できるため、GUIプログラミング(ReactやVueなど)で頻繁に使われる。