システムアーキテクト暗記無料で始める

Observerパターンとは?おぶざーばぱたーん

Observerパターンとは、被観測者(Subject)の状態変化を、登録された複数の観測者(Observer)へ自動的に通知する振る舞いのパターン。被観測者は観測者を共通のインタフェース越しにしか知らないため、通知先の型や数が変わっても被観測者側のコードは変更されない。

最終更新:2026-10-06

試験情報

システムアーキテクト試験の過去問では1回出題されています。

システムアーキテクト試験の頻出用語/午前II

別名:監視者パターン、Publish-Subscribe

この語が出る過去問を解く →

背景

表示や集計のように変化へ追随したい側が増えていくとき、被観測者に相手の一覧を直接持たせると、追加のたびに変更対象が中心へ集まってしまう。依存の向きを抽象へ反転させ、追随する側が自分で購読を申し出る形にすれば、中心のコードを凍結したまま周辺だけを増やせる。GUIやイベント駆動の基礎になる考え方である。

具体例

モデルの値が変わると、購読しているグラフ・一覧・ヘッダの各ビューが自動的に再描画される。JavaのPropertyChangeListenerやReactiveXの購読も同じ構造を持つ。

試験での引っ掛け

Mediatorとの取り違えが定番。Observerは被観測者から観測者への一方向の通知、Mediatorは多数のオブジェクト間の相互作用を仲介役へ集約する仕組みで、通知の向きが一方向か相互かが分岐点になる。観測者が自ら状態を問い合わせるポーリングではない点、購読の登録・解除を実行時に変えられる点、GoFの分類が振る舞いに属する点も問われる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:午前II
  • Mediatorとの取り違えが定番。