過去問解きまくり研究所 ホーム

令和4年度 春期 午前Ⅱ 問5

設計

ストラテジパターンに関する問題

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

帳票出力のクラス図:

[コンテキスト](属性・操作なし)◇────→[帳票出力ストラテジ]
[帳票出力ストラテジ]操作:+帳票出力( )
[PDF 帳票出力ストラテジ]操作:+帳票出力( ) ──▷[帳票出力ストラテジ](汎化)
[HTML 帳票出力ストラテジ]操作:+帳票出力( ) ──▷[帳票出力ストラテジ](汎化)

凡例:クラスの箱は上から クラス名/属性/操作
答えと解説を見る

✓ これが正解イ新規フォーマット用のアルゴリズムの追加が容易である。

解説

アルゴリズムをサブクラスに分けるので新形式の追加が容易です。

見分ける軸は、出力のアルゴリズムがどこに書かれ、どう差し替えられるかです。図では、帳票出力ストラテジが帳票出力の操作だけを定め、PDF 帳票出力ストラテジと HTML 帳票出力ストラテジがそれを汎化の関係で受け継いで、それぞれの出力方法を実装しています。コンテキストは帳票出力ストラテジを集約で持ち、どのサブクラスが来ても同じ操作を呼ぶだけです。新しいフォーマットに対応するときは、帳票出力ストラテジのサブクラスを一つ加えればよく、コンテキストや既存のサブクラスを書き換えずに済みます。アルゴリズムを入れ替え可能な部品にするのがストラテジパターン、と押さえておくと判断できます。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和4年度 春期 システムアーキテクト試験 午前Ⅱ 問5

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)