UML のルールに従い、パターン・タイプによって、パターンの適用で許容可能なターゲット要素タイプが決まります。 例えば、パッケージ・タイプのパターンは UML パッケージまたは UML モデル (モデルはパッケージ・タイプ) に正しく適用することができます。
以下に、パターン・タイプごとに使用可能なターゲット・タイプを列挙します。
設計中、パターン作成者は「新規パターン」ウィザード内のオプションをクリアすることで使用可能なターゲット・タイプを制限できます。 例えば、コラボレーション・タイプのパターンのデフォルト・ターゲットは、クラスに制限できます。
UML ルールに従うだけでなく、パターン適用では 2 つのデフォルト動作のいずれかが行われます。 パターン・インスタンスが子ノードとしてターゲット要素に追加されるか、またはターゲット要素が変更されてパターン・インスタンスになります。 どちらの振る舞いになるかは、パターン作成者の設計、およびターゲット要素の UML タイプによって決まります。
以下のテーブルで、パターン・タイプごとにデフォルトの適用の振る舞いを示します。
| パターン・タイプ | ||||
|---|---|---|---|---|
| パッケージ・タイプ | コラボレーション・タイプ | クラス・タイプ | ||
UML モデル内のターゲット要素 |
パッケージ・ターゲット | パッケージ・タイプのパターン・インスタンスをターゲットに追加します。 | コラボレーション・タイプのパターン・インスタンスをターゲットに追加します。 | クラス・タイプのパターン・インスタンスをターゲットに追加します。 |
| コラボレーション・ターゲット | 許可されません。 | ターゲット・コラボレーションをコラボレーション・タイプのパターン・インスタンスに変更し、 パターンのパラメーターをインスタンスに追加します。 | 許可されません。 | |
| クラス・ターゲット | 許可されません。 | コラボレーション・タイプのパターン・インスタンスをターゲットに追加します。 | パターン・ステレオタイプを追加してターゲット・クラスを変更します。 パターンのパラメーターは追加しないでください。 | |
パターン作成者が「パターン・オーサリング」ビューを使用して、パターンとそのパターン・パラメーターをパターン・ライブラリーに追加すると、パターン定義参照モデルが作成されます。 パターン・ライブラリー内の各パターンは、それぞれ独自のパターン定義参照モデルを持ちます。 パターン定義参照モデルは、UML 要素と、パターン定義のキーワードで表されます。 パターン・タイプに応じて、パターン定義はパラメーター化されたコラボレーション、クラス、またはパッケージとなります。 パターン作成者は、パターン定義参照モデルを直接変更しないでください。 パターン定義参照モデルがパターンの Java™ コードと非同期になった場合、新規のパターン定義参照モデルを再生成できます。
パターン適用プロセスにおいて、パターン定義参照モデルから基本的なモデル情報が提供されます。 パターン適用者からはわかりにくくなっていますが、パターン定義参照モデルは、 生成されたすべてのパターン・インスタンスにバインドされています。