システムアーキテクト試験 2015年 午前207


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

解説

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

要点まとめ

  • 結論:デザインパターンは設計上の典型的な問題とその解決策を示し、再利用可能な設計のテンプレートである。
  • 根拠:オブジェクト指向設計の課題に対し、実績のある解決策を体系化し共有することで設計の質を向上させる。
  • 差がつくポイント:デザインパターンは単なるクラスの抽象化やデータ隠蔽ではなく、設計問題の解決策としての「パターン」である点を理解すること。

正解の理由

選択肢エは「システムの構造や機能について、典型的な設計上の問題とその解決策を示し、再利用できるようにしたもの」とあり、これはデザインパターンの定義に合致します。デザインパターンはオブジェクト指向設計における問題解決のための汎用的な設計テンプレートであり、設計の質を高めるために広く利用されています。

よくある誤解

デザインパターンを単なるクラスの抽象化やデータ隠蔽の技術と混同しがちですが、パターンは設計上の問題とその解決策のセットである点が重要です。

解法ステップ

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

選択肢別の誤答解説

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

補足コラム

デザインパターンは「GoF(Gang of Four)」によって体系化され、代表的な23のパターンが知られています。これらは生成、構造、振る舞いの3つのカテゴリに分類され、設計の効率化と品質向上に寄与します。

FAQ

Q: デザインパターンはプログラミング言語に依存しますか?
A: いいえ。デザインパターンは言語に依存しない設計の考え方であり、どの言語でも応用可能です。
Q: デザインパターンとフレームワークの違いは何ですか?
A: デザインパターンは設計のテンプレートであり、フレームワークはその設計を実装した具体的なソフトウェアの枠組みです。

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

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