パターン・タイプおよび定義

パターン作成者は 3 タイプの統一モデリング言語 (UML) から 1 つを選択してパターンを表す必要があります。選択できるタイプはコラボレーション、クラス、およびパッケージです。 ほとんどのパターンはコラボレーションです。パターンの設計、適用においてこのパターンがもっとも柔軟性に富んでいるからです。 パターン定義参照モデルは、パターンの振る舞いを決定するのに必要な、すべての具体的なコンポーネントを含んでいます。

UML のルールに従い、パターン・タイプによって、パターンの適用で許容可能なターゲット要素タイプが決まります。 例えば、パッケージ・タイプのパターンは UML パッケージまたは UML モデル (モデルはパッケージ・タイプ) に正しく適用することができます。

以下に、パターン・タイプごとに使用可能なターゲット・タイプを列挙します。

設計中、パターン作成者は「新規パターン」ウィザード内のオプションをクリアすることで使用可能なターゲット・タイプを制限できます。 例えば、コラボレーション・タイプのパターンのデフォルト・ターゲットは、クラスに制限できます。

UML ルールに従うだけでなく、パターン適用では 2 つのデフォルト動作のいずれかが行われます。 パターン・インスタンスが子ノードとしてターゲット要素に追加されるか、またはターゲット要素が変更されてパターン・インスタンスになります。 どちらの振る舞いになるかは、パターン作成者の設計、およびターゲット要素の UML タイプによって決まります。

以下のテーブルで、パターン・タイプごとにデフォルトの適用の振る舞いを示します。

パターン・タイプによるデフォルトの振る舞い
  パターン・タイプ
  パッケージ・タイプ コラボレーション・タイプ クラス・タイプ

UML モデル内のターゲット要素

パッケージ・ターゲット パッケージ・タイプのパターン・インスタンスをターゲットに追加します。 コラボレーション・タイプのパターン・インスタンスをターゲットに追加します。 クラス・タイプのパターン・インスタンスをターゲットに追加します。
コラボレーション・ターゲット 許可されません。 ターゲット・コラボレーションをコラボレーション・タイプのパターン・インスタンスに変更し、 パターンのパラメーターをインスタンスに追加します。 許可されません。
クラス・ターゲット 許可されません。 コラボレーション・タイプのパターン・インスタンスをターゲットに追加します。 パターン・ステレオタイプを追加してターゲット・クラスを変更します。 パターンのパラメーターは追加しないでください。

パターン作成者が「パターン・オーサリング」ビューを使用して、パターンとそのパターン・パラメーターをパターン・ライブラリーに追加すると、パターン定義参照モデルが作成されます。 パターン・ライブラリー内の各パターンは、それぞれ独自のパターン定義参照モデルを持ちます。 パターン定義参照モデルは、UML 要素と、パターン定義のキーワードで表されます。 パターン・タイプに応じて、パターン定義はパラメーター化されたコラボレーション、クラス、またはパッケージとなります。 パターン作成者は、パターン定義参照モデルを直接変更しないでください。 パターン定義参照モデルがパターンの Java™ コードと非同期になった場合、新規のパターン定義参照モデルを再生成できます。

注: パターン・インスタンス上で右クリックして、関係する要素/すべての関連をフィルター/表示するコマンドを実行すると、パターン定義参照モデルを簡単にダイアグラム上に表示できます。

パターン適用プロセスにおいて、パターン定義参照モデルから基本的なモデル情報が提供されます。 パターン適用者からはわかりにくくなっていますが、パターン定義参照モデルは、 生成されたすべてのパターン・インスタンスにバインドされています。

関連概念
UML パターン・フレームワーク
パターン・プロジェクトの内容
パターン・インスタンス生成
パターン拡張

フィードバック