詳細を適用するためのパターン |
このサンプルは、8 つのパターンのセットです。これらのパターンの多くは、 業界で受け入れられているパターンと名前や機能が似ています。* これらのパターンのいくつかは、より詳細度の高い他のパターンによって使用され、マイクロパターンと呼ばれます。 実装パターン(パラメーター 2 つ、パラメーター依存 1 つ、マイクロパターン 1 つ) 実装パターンとは、パターン内で完結していて、その実装内で他のパターンを使用しない基本的なパターンのことです。このパターン は、実装引き数からインターフェース引き数への UML 実装関係が確実に存在するようにする非常に単純なパターンです。 インターフェース・パターン(パラメーター 2 つ、パラメーター依存 1 つ、1 つのパターンの再利用) インターフェース・パターンとは、いくつかの他のサンプル・パターンによって再利用されるパターンのことですが、 インターフェース・パターンもその実装でパターンを再利用します。実装パターンは非常に基本的なパターン (マイクロパターンとも呼ばれる) で、実装引き数によるインターフェース引き数の実装を確実にするためにインターフェース・パターンにより使用されます。 インターフェース・パターンには、インターフェースを表すパラメーターと実装を表す パラメーターの 2 つのパラメーターがあります。このパターンには、パターン定義使用法とパターン依存関係委譲を使用した基本的な委譲マッピングの例が含まれます。このパターン は、非常に基本的なパターンですが、パターンの文書の他の部分でも説明されている機能的なパターンです。また、このパターンは、パターンの依存関係の更新メソッドを実装するための、パターン委譲とカスタム・コードの両方を使用する組み合わせも示しています。実装関係を保証するために実装パターンを再利用し、次に、 実装によってインターフェース引き数にすべての定義済み操作が実装されるようにカスタム更新メソッド・コードを 使用します。 キーワード・リスト・パターン(パラメーター 2 つ、パラメーター依存 1 つ、マイクロパターン 1 つ) キーワード・リスト・パターンとは、自身を含み、その実装内で他のパターンを使用しない基本的なパターンのことです。 このパターンは、パラメーター・タイプとしての UML リテラル・ストリングの 使用、およびパラメーター・タイプとしての abstract UML メタタイプの使用も示します。また、このパターン には、引き数としてのパターン・セマンティクスのアンバインド、およびパターン・インスタンスの適用解除が 正常に行われるようにする機能も含まれます。キーワード・リスト・パターン は、自身が権限を持つ「パターン・エクスプローラー」ビューからインスタンス化することができますが、 パターン委譲メカニズムを介して他のパターンによって再利用されるのに適しています。 有向関連パターン(パラメーター 6 つ、パラメーター依存 5 つ、マイクロパターン 1 つ) 有向関連パターンは、もう 1 つの自身を含む基本的なパターンで、詳細度がより高い その他のパターンによって使用されるマイクロパターンのことです。有向関連パターン には、単方向関連のコンテキストを設定する 2 つの基本パラメーターがあります。このパターン には、関連のタイプ、ロール名、および多重度を構成することによる関連の形成に役立つ他の 5 つの 周辺パラメーターがあります。このパターンは、サンプル委譲パターンによって再利用されるパターンで、 あまり一般的ではないパラメーター・タイプを多く含むパターンの例です。このパターンの定義では、 リテラル・ストリング、整数、およびパターン列挙型が使用されます。これらのリテラルおよび列挙型を 処理するためにこのサンプルに含まれているパターン・コードは、パターン作成者にとって、 類似したパラメーター・タイプを持つパターンの作成を学習するときに非常に有益です。 委譲パターン(パラメーター 2 つ、パラメーター依存 1 つ、3 つのパターンの再利用) 委譲パターンには、委譲者を表すパラメーターと委譲パターンにおける委譲を表すパラメーターの 2 つの パラメーターがあります。委譲者は、委譲インターフェースで定義され、委譲者が実装した操作を 委譲タイプのインスタンスに委譲します。このパターンは、 キーワード・リスト・パターンの再利用インスタンスにバインドされているキーワードの名前をカスタマイズするための 委譲マッピング・フィルターの使用を示します。このような名前のカスタマイズは、 委譲パターンの有用な実装には必要ありませんが、委譲マッピング・フィルターの使用を示すために このサンプルに追加されています。 方針パターン(パラメーター 3 つ、依存 2 つ、2 つのパターンの再利用) 方針パターンは、一般的に知られている方針パターンに基づいています。 このパターンは、キーワード・リストおよびインターフェース・サンプル・パターンを再利用し、パラメーター委譲マッピング の例を含みます。このパターンには、方針インターフェースを表すパラメーター、具体的な方針を表す パラメーター、および方針自体のコンテキストを表すパラメーターの 3 つのパラメーターがあります。パターンは、 キーワード・リスト・パターンの再利用を示すために、方針インターフェース・パラメーターの 引き数に <<Strategy>> キーワードが確実に存在するようにします。 インターフェース・パターンが再利用されることによって、 方針インターフェースが具象方針パラメーターのバインド済み引き数により実装されるようになります。 Singleton パターン(パラメーターはゼロ) Singleton パターンは、一般的に知られている Singleton パターンに基づいています。 このパターンは、パラメーターなしのパターンの例です。このパターンには、 パターン・インスタンス自体と考えることができる暗黙的なパラメーターが 1 つあります。このパターンは、 そのパターン・インスタンスを、通常はより一般的な表現であるコラボレーションではなく、クラスとして表します。この パターンの機能的な使用法では、「パターン・エクスプローラー」ビューからシングルトンにする必要があるクラスにパターンを ドラッグします。図の表面上 (パッケージ) にこのパターンをドラッグすると、 新規シングルトン・インスタンスが作成され、これにより、このインスタンスを表す新規クラスが作成されます。 Abstract factory パターン(パラメーター 5 つ、パラメーター依存 5 つ、1 つのパターンの再利用) Abstract Factory パターンは、一般的に知られている Abstract Factory パターンに基づいています。 このパターンは、インターフェース・パターンを再利用するため、インターフェース・パターンへの 振る舞いを委譲する過程における依存の委譲の例を示します。このパターンは、すべての具象製品が、バインドされているすべての抽象製品インターフェースを実装するという点で、Abstract Factory パターンの縮退実装です。このパターンは、追加の引き数がパターンにバインドされた場合にパターンのセマンティクスを維持しつづけるためにパラメーターの依存関係を利用する例となっています。 Singleton パターンがパターン・インスタンスを表すのにコラボレーション以外のものを 使用するのと同様に、このパターンはパッケージを使用します。このパターンのインスタンスはパッケージです。 * 「オブジェクト指向における再利用のための デザインパターン」 Gamma、Helm、Johnson、Vlissides (Addison-Wesley, 1995) copyright (c) 1995 by Addison-Wesley Publishing Company, Inc. All rights reserved. |