SkillStack
テクノロジ系5 / 25問

システムアーキテクト試験 令和7年度 春期 午前II 問5

デザインパターンの一つであるObserverパターンを利用して実現できることはどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ア

Observerパターンは、あるオブジェクトの状態変化を、それに依存する複数のオブジェクトへ自動的に知らせるためのデザインパターンです。通知する側をSubject、通知を受ける側をObserverと呼びます。ObserverをあらかじめSubjectに登録しておき、Subjectの状態が変化したときに、登録済みのObserverへ更新を通知します。これにより、通知先を個別に強く結び付けずに、一対多の連携を実現できます。画面上のデータが変化したときに複数の表示部品を更新する処理や、イベント通知などに適しています。したがって、状態変化を依存する全オブジェクトへ通知するアが正解です。

イの説明は誤りです。これはDecoratorパターンの説明です。元のオブジェクトを別のオブジェクトで包み、継承に頼らず、実行時に機能や責務を追加します。

ウの説明は誤りです。これはSingletonパターンの説明です。クラスのインスタンスを一つだけ生成し、そのインスタンスへアクセスする共通の手段を提供します。

エの説明は誤りです。これはIteratorパターンの説明です。配列や集合などの内部構造を意識せず、共通の操作によって要素を順番に取り出せるようにします。

【ポイント】 Observerパターンの中心は、状態変化の自動通知と一対多の依存関係です。 SubjectはObserverの登録、削除、通知を管理し、Observerは通知を受けて必要な更新を行います。 各デザインパターンは、目的と代表的な利用場面を対応させて覚えてください。

出典:令和7年度 春期 システムアーキテクト試験 午前II 問5
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める