必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. プロジェクトマネージャ 午前2
  3. 令和6年度秋季問題一覧
  4. 令和6年度秋季問題13-解答・解説-分析

令和6年度秋季問題

問題13

ソフトウェアパターンのうち,GoFのデザインパターンの説明はどれか。

Javaのパターンとして,引数オブジェクト,オブジェクトの可変性などで構成される。
オブジェクト指向開発のためのパターンであって,生成,構造,振る舞いの三つのカテゴリに分類される。
構造,分散システム,対話型システム及び適合型システムの四つのカテゴリに分類される。
抽象度が異なる要素を分割して階層化するためのLayers,コンポーネント分割のためのBrokerなどで構成される。

ソフトウェアパターンのうち,GoFのデザインパターンの説明はどれか。

Javaのパターンとして,引数オブジェクト,オブジェクトの可変性などで構成される。
オブジェクト指向開発のためのパターンであって,生成,構造,振る舞いの三つのカテゴリに分類される。
構造,分散システム,対話型システム及び適合型システムの四つのカテゴリに分類される。
抽象度が異なる要素を分割して階層化するためのLayers,コンポーネント分割のためのBrokerなどで構成される。

解答:イ

<解説>

GoF(Gang of Four)のデザインパターンは、ソフトウェア設計における一般的な問題を解決するための23種類の再利用可能な設計ソリューションであり、オブジェクト指向設計の文脈で広く知られている。

× GoFのデザインパターンに特有の説明ではない。引数オブジェクトやオブジェクトの可変性は、Javaプログラミングにおける設計上の考慮事項やイディオムの一部であり、GoFのデザインパターンとは異なる概念である。GoFのパターンは特定のプログラミング言語に限定されるものではなく、オブジェクト指向言語全般に適用可能な抽象的な設計原則である。
この記述がGoFのデザインパターンの正確な説明である。GoFの23のデザインパターンは、その目的によって以下の3つのカテゴリに分類される。
・生成(Creational)パターン: オブジェクトの生成メカニズムに関わるもので、インスタンス化の柔軟性を高める。Factory Method, Abstract Factory, Singleton, Builder, Prototypeなどがある。
・構造(Structural)パターン: オブジェクトとクラスの構成(組み合わせ方)に関わるもので、大規模な構造を構築する。Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxyなどがある。
・振る舞い(Behavioral)パターン: オブジェクト間の相互作用と責任の割り当てに関わるもので、アルゴリズムと通信の効率化を図る。Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitorなどがある。
× GoFのデザインパターンに用いられるものではない。この分類は、より広範な「ソフトウェアアーキテクチャパターン」や「エンタープライズ統合パターン」といった、より高レベルのパターン分類体系に見られるものである。
× GoFのデザインパターンではなく、「アーキテクチャパターン」や「エンタープライズアプリケーションアーキテクチャパターン」の説明である可能性が高い。Layers(レイヤードアーキテクチャ)やBrokerは、システム全体の構造を定義するアーキテクチャレベルのパターンであり、GoFのデザインパターン(オブジェクトやクラス間の関係を記述する)よりも抽象度が高い。