設計パターンのカテゴリーには、従来の GoF (Gang of Four) パターンの一部を示す 設計パターンがあります。
パターン | 目的 |
---|---|
Decorator | Decorator パターンは、インターフェースを変更せずに動的にオブジェクトに 責務を追加します。Decorator パターンは、元のインターフェースを実装し、機能を追加し、 元のオブジェクトに作業を委任するため、 ラッパーとして機能します。Architectural Discovery アルゴリズムでは、 Decorator およびラップ対象 Component の 2 つのクラスから構成されるとして このパターンを識別します。 |
Factory Method | Factory Method パターンは、オブジェクトを作成するためのインターフェースを定義します。 各 Factory Method パターンは、入力パラメーターおよび状態の特性に基づいて インスタンス化するクラスを定義できます。Architectural Discovery アルゴリズムでは、 Creator、Concrete Creator、Product、および Concrete Product から構成されるとして このパターンを識別します。Creator は、Product を作成するためのインターフェースを 指定します。Concrete Creator は、Concrete Product をインスタンス化することによって このインターフェースを実装します。 |
Marker | Marker パターンは、クラスの意味属性を宣言します。Architectural Discovery アルゴリズムでは、 メソッドも定数もない単一の空のインターフェースとして Marker を 識別します。 |
Observer/Observable | Observer/Observable パターンは、オブジェクトの状態の変化について 他のシステム・オブジェクトと通信します。Architectural Discovery アルゴリズム では、Observer および Observable から構成されるとしてこのパターンを識別します。Observable クラスは、 状態変更が発生したときに通知を受ける Observer クラスのリストを 保守します。 |
Singleton | Singleton パターンは、クラスが 1 つのオブジェクト・インスタンスのみを許可することを 保証します。Architectural Discovery アルゴリズムでは、Singleton の インスタンスへのグローバル・アクセスを提供する public static フィールドまたはメソッド、 および private コンストラクターを持つクラスとして Singleton を識別します。 |
Utility | Utility パターンは、ステートレスなユーティリティー機能をモデル化します。Architectural Discovery アルゴリズム では、static メソッドのみを含む private コンストラクターを持つクラスとして Utility を識別します。 |
Visitor | Visitor パターンは、オブジェクト構造のエレメントに対して 特定の操作を実行します。Visitor パターンは、操作するエレメントのクラスを変更せずに 追加の操作を行うことができます。Architectural Discovery アルゴリズムでは、 Visitor パターンを、Visitor、Concrete Visitor、Element (オプション)、および Concrete Element を 構成するものとして識別します。Visitor は、すべてのエレメントの Visitor 操作を宣言するインターフェースです。Concrete Visitor は Visitor インターフェースを実装し、 各 Concrete Element を操作します。 |