ストラテジパターンは、アルゴリズムファミリーを定義し、それぞれをカプセル化して、それらを交換可能にするデザインパターンです。これにより、アルゴリズムをクライアントから独立して変更できるようになります。
2010年度 秋期 システムアーキテクト 午前II 問3
デザインパターンの中のストラテジパターンを用いて、帳票出力のクラスを図のとおりに設計した。この帳票出力ストラテジクラスの説明として、適切なものはどれか。
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
イは、ストラテジパターンの主要な利点である、アルゴリズムの交換可能性と拡張性の容易さを的確に表しています。新規フォーマット用のアルゴリズム(=ストラテジ)を追加する際は、新しいストラテジクラスを作成し、それをコンテキストクラスに渡すだけで済みます。既存のコードを変更することなく、機能拡張が可能です。
アは、ストラテジパターンの目的とは異なります。クライアントは、どのストラテジ(=帳票出力フォーマット)を利用するかを選択・設定する必要があります。ストラテジパターンは、コンテキストクラスがどのストラテジを選択するかを決定することはありますが、クライアントがそれを意識せずに済むわけではありません。
ウは、ストラテジパターンの振る舞いとは異なります。振分けのロジックは、コンテキストクラス(=帳票出力クラス)が、どのストラテジインスタンスを利用するかを決定する際に含まれることはありますが、帳票出力ストラテジクラス自身が振分けを行うわけではありません。各ストラテジクラスは、特定のフォーマット出力アルゴリズムのみを担当します。
エは、ストラテジパターンの設計原則に反します。帳票出力のアルゴリズムは、各ストラテジクラス(=各フォーマットに対応するクラス)の中に記述されるべきです。コンテキストクラスは、抽象的なストラテジインターフェースを通じて、具象的なストラテジクラスのインスタンスを利用します。
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「ソフトウェア設計」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 本問の分野で問われる代表的な知識・用語の整理。
- 学習の進め方
- 正解/誤答の選択肢ごとに「なぜ正しい / なぜ違うのか」を1行ずつ言語化すると定着する。
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
ソフトウェア設計 の他の問題
- システムアーキテクト2009年度 秋期 午前II 問5あるプログラム言語の解説書の中に次の記述がある。この記述中の“良いプログラム”がもっている特徴はどれか。 このプログラム言語では、関数を呼び出すときに引数を保持するためにスタックが使用される。引数で受け渡すデータを、どの関数からでも参照できる共通域に移せば、スタックの使用量を減…
- システムアーキテクト2009年度 秋期 午前II 問6モジュール設計書を基にモジュール強度を評価した。適切な評価はどれか。 〔モジュール設計書(抜粋)〕 上位モジュールから渡される処理コードに対応した処理をする。処理コードが“I”のときは挿入処理、処理コードが“U”のときは更新処理,処理コードが“D”のときは削除処理である。
- システムアーキテクト2009年度 秋期 午前II 問23“納品”表と“顧客”表を自然結合する SQL 文はどれか。 納品 顧客番号 商品番号 納品数量 顧客 顧客番号 顧客名
- システムアーキテクト2010年度 秋期 午前II 問4オブジェクト指向におけるオブジェクト間の代表的な関係には、is-a と part-of の二つがある。表に示すオブジェクト間の関係の組合せのうち、適切なものはどれか。
- システムアーキテクト2010年度 秋期 午前II 問5プログラムの構造化設計におけるモジュール分割技法の説明のうち、適切なものはどれか。