アルゴリズムを差し替えるStrategyパターン

Strategyパターン は,処理アルゴリズムを共通インタフェースの別クラスへ分離します。新しい帳票形式は新たなサブクラスとして追加でき,既存の帳票処理への変更を抑えられます。 使用する具体的な形式の選択は必要であり,クライアントが対象の具体クラスを意識しないことまでは保証しません。 形式別の処理は具体的なストラテジのクラスに分離しており,基底クラスに全形式の分岐を集めません。 アルゴリズムはPDFやHTML用の具体ストラテジに実装します。

デザインパターンの中のストラテジパターンを用いて,帳票出力のクラスを図のとおりに設計した。適切な説明はどれか。

問題画像
出典令和4年度 春期 システムアーキテクト試験 午前Ⅱ 問5
ア
クライアントは,使用したいフォーマットに対応する,帳票出力ストラテジクラスのサブクラスを意識せずに利用できる。
イ
新規フォーマット用のアルゴリズムの追加が容易である。
ウ
帳票出力ストラテジクラスの中で,どのフォーマットで帳票を出力するかの振り分けを行っている。
エ
帳票出力のアルゴリズムは,コンテキストクラスの中に記述する。