システムアーキテクト試験 2024年 午前204


オブジェクト指向におけるデザインパターンに関する記述として,適切なものはどれか。
幾つかのクラスに共通する性質を抽出して、一般化したクラスを定義したものである。
オブジェクトの内部にデータを隠蔽し、オブジェクトの仕様と実装とを分離したものである。
システムの構造や機能について、設計上の典型的な問題とその解決策とを示し、再利用できるようにしたものである。(正解)
同じ性質をもつオブジェクト群を、更にクラスとして抽象化したものである。

解説

オブジェクト指向におけるデザインパターンに関する記述【午前2 解説】

要点まとめ

  • 結論:デザインパターンは設計上の典型的な問題とその解決策を示し、再利用可能な知識の集約である。
  • 根拠:設計パターンはオブジェクト指向設計のベストプラクティスを体系化し、問題解決の枠組みを提供する。
  • 差がつくポイント:単なるクラスの抽象化やデータ隠蔽ではなく、設計課題に対する汎用的な解決策であることを理解すること。

正解の理由

選択肢エは「システムの構造や機能について、設計上の典型的な問題とその解決策を示し、再利用できるようにしたもの」とあり、これはデザインパターンの定義に最も合致します。デザインパターンは、繰り返し現れる設計課題に対して効果的な解決策を提供し、設計の質を向上させるための知識体系です。

よくある誤解

デザインパターンは単なるクラスの抽象化やデータ隠蔽の技術ではありません。設計の問題解決に焦点を当てた「再利用可能な設計のテンプレート」である点を誤解しやすいです。

解法ステップ

  1. 問題文の「デザインパターン」の定義を正確に理解する。
  2. 各選択肢が示す内容がデザインパターンの定義に合致するか検証する。
  3. クラスの抽象化やデータ隠蔽はデザインパターンの一部ではなく、別の概念であることを確認する。
  4. 設計上の典型的な問題と解決策を示す選択肢を選ぶ。
  5. 選択肢エが最も適切であると判断する。

選択肢別の誤答解説

  • ア: クラスの一般化は「継承」や「抽象クラス」の概念であり、デザインパターンの定義とは異なります。
  • イ: 同じ性質を持つオブジェクト群の抽象化は「クラス設計」の基本であり、デザインパターンの説明としては不十分です。
  • ウ: データの隠蔽と仕様・実装の分離は「カプセル化」の説明であり、デザインパターンの定義ではありません。
  • エ: システムの設計上の典型的な問題と解決策を示し、再利用可能にしたものはデザインパターンの正しい定義です。

補足コラム

デザインパターンは「GoF(Gang of Four)」によって体系化され、代表的なものに「Singleton」「Factory Method」「Observer」などがあります。これらは設計の問題を解決するための再利用可能なテンプレートとして広く活用されています。

FAQ

Q: デザインパターンはコードの部品ですか?
A: いいえ、デザインパターンはコードの具体的な部品ではなく、設計のための抽象的な解決策の枠組みです。
Q: デザインパターンとクラスの継承は同じですか?
A: いいえ、継承はオブジェクト指向の基本機能であり、デザインパターンはそれを活用した設計のベストプラクティスです。

関連キーワード: デザインパターン, オブジェクト指向, 設計パターン, GoF, カプセル化, 継承, 抽象化
← 前の問題へ次の問題へ →

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