デザインパターンの中のストラテジパターンを用いて、帳票出力のクラスを図のとおりに設計した。適切な説明はどれか。
アルゴリズムを別クラスに委譲し追加・切替を容易にするのがストラテジ

選択肢
- アクライアントは、使用したいフォーマットに対応する、帳票出力ストラテジクラスのサブクラスを意識せずに利用できる。
- イ新規フォーマット用のアルゴリズムの追加が容易である。
- ウ帳票出力ストラテジクラスの中で、どのフォーマットで帳票を出力するかの振り分けを行っている。
- エ帳票出力のアルゴリズムは、コンテキストクラスの中に記述する。
正解と解説
正解:イ 新規フォーマット用のアルゴリズムの追加が容易である。
ストラテジパターンは、切り替えたいアルゴリズムを共通のインタフェースをもつ別クラス(具象ストラテジ)として実装し、利用側のコンテキストはそのインタフェース経由で呼び出す構造をとる。新しい出力形式を増やしたいときは、共通インタフェースを実装したサブクラスを1つ追加するだけでよく、コンテキストや既存クラスに手を入れずに済む。
選択肢ごとの解説
- アどの具象ストラテジを使うかはクライアントが選んでコンテキストに与えるため、サブクラスの存在を意識しないわけではない。
- イ正しい。共通インタフェースを実装したクラスを追加するだけで新形式に対応でき、拡張が容易である。
- ウ出力形式の振り分けを親クラス内の条件分岐で行うのは、ストラテジパターンが排除しようとしている実装である。
- エアルゴリズムは各具象ストラテジクラスに記述する。コンテキストに書くと形式追加のたびに改修が必要になる。
同じ分野の他の問題
- デザインパターンの一つであるObserverパターンを利用して実現できることはどれか。2025年度 春期 午前II 問5
- オブジェクト指向におけるデザインパターンに関する記述として、適切なものはどれか。2024年度 春期 午前II 問4
- デザインパターンの説明はどれか。2023年度 春期 午前II 問6
- ソフトウェアパターンのうち、GoFのデザインパターンの説明はどれか。2022年度 春期 午前II 問2
- ソフトウェアパターンのうち、GoFのデザインパターンの説明はどれか。2019年度 秋期 午前II 問3
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。