基本情報技術者試験「デザインパターン」の問題
GoFのデザインパターンのうち、システム全体で特定のクラスのインスタンスがただ一つだけ生成されることを保証し、その唯一のインスタンスへ共通のアクセス手段を提供するパターンはどれか。
アObserverパターン
イSingletonパターン
ウFactory Methodパターン
エStrategyパターン
正解
イ.Singletonパターン
Singletonパターンは、コンストラクタを外部から呼べないようにし、唯一のインスタンスを内部で保持して共通のアクセスメソッドで取得させることで、システム全体でインスタンスがただ一つであることを保証する。設問の『唯一のインスタンスと共通アクセス』に正確に合致する。
?選択肢ごとの解説
ア ×Observerパターンはあるオブジェクトの状態変化を依存先へ自動通知する振る舞いのパターンで、インスタンス数を制限する目的のものではない。
イ ○Singletonパターンは、コンストラクタを外部から呼べないようにし、唯一のインスタンスを内部で保持して共通のアクセスメソッドで取得させることで、システム全体でインスタンスがただ一つであることを保証する。設問の『唯一のインスタンスと共通アクセス』に正確に合致する。
ウ ×Factory Methodパターンは生成するオブジェクトの種類をサブクラスに委ねる生成のパターンで、唯一性の保証を目的としない。
エ ×Strategyパターンはアルゴリズムを差し替え可能にする振る舞いのパターンで、インスタンスの一意性とは関係がない。
✎くわしく
GoFパターンは生成・構造・振る舞いの3分類で整理される。SingletonとFactory Methodは生成に関するパターン、ObserverとStrategyは振る舞いに関するパターンである。Singletonの肝は『コンストラクタの隠蔽+唯一インスタンスの保持+共通取得口』の三点で、設定情報やログ出力など全体で共有したい資源に使われる。乱用は密結合を招くため注意も必要である。
✓本番での押さえどころ
試験のコツ
『ただ一つだけ』『唯一のインスタンスへアクセス』とあればSingletonと判断する。
覚え方
Singleton=Single(唯一)+ton、まさに『たった一つ』と語の意味で覚える。
よくある誤り
生成系のFactory Methodと混同しやすい。Singletonは『数を一つに限定』、Factory Methodは『生成種類を委譲』と目的で区別する。
開発技術の他の問題
アジャイル開発の手法であるスクラムにおいて、スプリントごとに動作するソフトウェアを開発チームが実際に作り上げ、その成果物をプ…ソフトウェアのテストにおいて、プログラムの内部構造には着目せず、入力に対する出力が仕様どおりであるかを検証する手法を採用した…あるシステムのファンクションポイント(FP)を見積もったところ、未調整FPは200であった。技術的複雑度を表す調整係数が0.…ソフトウェアの企画から開発・運用・保守・廃棄までの各活動について、取得者と供給者が同じ言葉で役割や作業範囲を取り決められるよ…ある開発プロジェクトでは、要件定義・設計・実装・テストの各工程を上流から下流へ順に進め、前工程の成果物を承認してから次工程へ…開発対象を複数の部分に分け、各部分について計画・リスク分析・開発・評価の活動を繰り返し、評価のたびにリスクを見極めながら少し…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0066