IPA公式正解:イ 新規フォーマット用のアルゴリズムの追加が容易である。
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【イ】です。ストラテジ(Strategy)パターンは、アルゴリズムの群をカプセル化して共通インタフェース経由で交換可能にするパターンです。新フォーマットを追加する場合も、既存クラスを変更することなく具象ストラテジクラスを新設するだけで容易に対応できます。
【詳細解説】■ 本問の核心・解法のポイント
GoFデザインパターンの1つである「Strategy(ストラテジ)パターン」の構造とメリットを理解しているかが問われます。Strategyパターンでは、アルゴリズム(本問では帳票出力処理)を共通インタフェースを持つ独立したクラス群にカプセル化し、Context(委譲元)から動的に切り替えて利用します。これにより、開放・閉鎖原則(OCP)が満たされ、既存コードを修正せずに新たなアルゴリズムを容易に追加・拡張できます。
・各選択肢の徹底解説:
・ア:クライアント側は、利用したいフォーマットに応じた具体的な帳票出力ストラテジのサブクラスを生成してContextに渡す(注入する)必要があるため、サブクラスを意識して利用します。
・【選択肢イ★】:正解です。新しい帳票フォーマットを追加する際は、共通ストラテジインタフェースを実装した新しいサブクラスを追加するだけで済み、既存のContextクラス等を修正する必要がないため追加が容易です。
・ウ:ストラテジクラスはアルゴリズムの共通インタフェースを定義するものであり、出力フォーマットの振り分け処理(条件分岐)は行いません。
・エ:帳票出力の具体的なアルゴリズムは、ストラテジインタフェースを実装した個々の具象ストラテジサブクラスの中に記述します。
よって正解はイです。