ホーム > システムアーキテクト試験 > 2022年

システムアーキテクト試験 2022年 午前205


デザインパターンの中のストラテジパターンを用いて、帳票出力のクラスを図のとおりに設計した。適切な説明はどれか。
問題画像
クライアントは、使用したいフォーマットに対応する、帳票出カストラテジクラスのサブクラスを意識せずに利用できる。
新規フォーマット用のアルゴリズムの追加が容易である。(正解)
帳票出カストラテジクラスの中で、どのフォーマットで帳票を出力するかの振り分けを行っている。
帳票出力のアルゴリズムは、コンテキストクラスの中に記述する。

解説

ストラテジパターンと帳票出力クラスの設計

ストラテジパターンとは

ストラテジパターン(Strategy Pattern)は、アルゴリズムをクラスとして分離し、必要に応じて動的に切り替えることができるデザインパターンです。このパターンにより、アルゴリズムを使う側(コンテキスト)と、アルゴリズムの具体的な実装(戦略)を分離することが可能になります。

図の構成について

このクラス図では、以下のように構成されています:
  • 帳票出力カストラテジ:共通のインターフェース(帳票出力)を持つ抽象クラス。- PDF帳票出力カストラテジ / HTML帳票出力カストラテジ:具体的な出力方法を実装するクラス。- コンテキスト:帳票出力カストラテジに依存し、動的に出力形式を切り替えることが可能。

解説:なぜ「新規フォーマット用のアルゴリズムの追加が容易」なのか

ストラテジパターンでは、新しいアルゴリズム(例:Excel帳票出力など)を追加する場合でも、既存のコードに影響を与えることなく、新しいクラスを作成して帳票出力カストラテジを継承するだけで済みます。これは「オープン・クローズドの原則(OCP)」に従った設計であり、拡張に対して開かれ、修正に対して閉じているというメリットがあります。

他の選択肢が不適切な理由(例)

  • アルゴリズムの修正が容易:修正ではなく「追加」に強みを持つ点がポイントです。- 帳票出力のための操作が簡素:操作の簡素さより、設計の柔軟性が本質です。

結論

この設計は、新たな帳票フォーマットの出力処理を容易に追加できる構造であるため、選択肢 イ:「新規フォーマット用のアルゴリズムの追加が容易である」 が正解です。
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ