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