IPA公式正解:イ 新規フォーマット用のアルゴリズムの追加が容易である。
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【イ】です。Strategy(ストラテジ)パターンでは、アルゴリズムをカプセル化してインターフェース経由で利用するため、既存のContextクラスやクライアントコードに影響を与えることなく、新しいフォーマットに対応する具象クラスを容易に追加できます(開放閉鎖原則の実現)。
【詳細解説】■ 本問の核心・解法のポイント
GoFの振る舞いに関するパターンであるStrategyパターンの構造と目的を正しく評価する問題です。Strategyパターンでは、変化するアルゴリズム(本問では帳票出力フォーマット処理)を一連の具象ストラテジクラス群として抽象クラス(またはインターフェース)の背後に隠蔽し、委譲によって実行します。
・各選択肢の徹底解説:
・ア:ストラテジパターンにおいて、どの具体的なアルゴリズム(具象ストラテジ)を採用するかは通常クライアント(またはファクトリ)が決定し、Contextに注入(設定)するため、クライアントはサブクラスを意識して選択する必要があります。
・イ:【選択肢イ★】新しい出力フォーマットを追加する場合、帳票出力ストラテジクラスの新しいサブクラスを作成するだけで済み、Contextクラスを変更する必要がないため、新規フォーマット用アルゴリズムの追加が容易(OCP:開放閉鎖原則を満たす)です。
・ウ:フォーマットごとの分岐・振り分け処理は行わず、ポリモーフィズム(多態性)によって実行時に割り当てられた具象オブジェクトのメソッドが呼び出されます。
・エ:帳票出力の具体的なアルゴリズムは、Contextではなく各帳票出力ストラテジの具象サブクラスの中にカプセル化して記述します。
よって正解はイです。