パターン拡張

パターン適用時に実行したいパターンの振る舞いを実装するために、パラメーターごとにパターン拡張コードがパターン作成者によって提供されていて、パラメーターがバインドされたときに呼び出されます。したがって、拡張は段階的に行われます。

引数はパターン適用者が指定するので、バインドまたは拡張された引数の結果はすぐにターゲット要素内で見ることができます。 パラメーターはそれぞれ独立して拡張されるので、パターン適用者は現在の設計上の問題を解決できるパターン・パラメーターのみを適用することを選択できます。 パターンの複数のインスタンスを同時に存在させることができます。またパターンは複数回、ターゲット要素に適用できます。 パターン作成者は、どのパターン・パラメーターがオプションであるかを決定し、 通常、これはパターン・パラメーター多重度の下限が 0 (ゼロ) であることによってパターン適用者に伝えられます。

パラメーター独立の例外として、パラメーター間の依存を使用できます。 これは拡張時に他のパラメーターの値を必要とするようなパラメーターに適用されます。 パターン・パラメーターの依存関係と、UML の依存関係は別のものです。 「依存クライアントまたはサプライヤー (dependency Client or Supplier)」プロパティーがパターン・モデル内で設定されていると、パターン内に空の更新メソッドが生成されます。 この更新メソッドが用意されているのは、パターン作成者がパラメーター間の要件に基づいて拡張シーケンス・コードを作成するためです。

コード設計に関するヘルプが必要な場合は、AbstractPatternParameter クラスと PatternParameterValue クラスが含まれている com.ibm.xtools.patterns.framework パッケージを参照してください。 AbstractPatternParameter クラスは、 パターン・パラメーターに共通の実装であり、 このクラスをさらに特化する別のサブクラスを介して間接的に使用されます。 PatternParameterValue クラスは、 適切なパターン・パラメーターとパターン・インスタンスに値を限定するのに必要な情報をすべてカプセル化します。 また、このクラスには、パターン・パラメーター値の状態に応じて状態固有の振る舞いを提供するネストされたサブクラスが含まれます。

関連概念
UML パターン・フレームワーク
パターン・プロジェクトの内容
パターン・インスタンス生成
パターン・タイプおよび定義
関連情報
Specialized patterns framework API classes
Patterns framework API classes
IBM Rational Patterns Reference Guide

フィードバック