Design Patterns のルール・カテゴリー

アーキテクチャー分析用の Design Patterns ルール・カテゴリーには、従来の GoF (Gang of Four) パターンの一部を含む、ソース・コードの設計および作成における一般的なソリューションまたは落とし穴が含まれます。

目的

以下の表に、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 を操作します。

フィードバック