5

彼の著書ExtremeProgrammingAppliedの中で、KenAuerは何気なくイネーブラーパターンについて言及しています。Kent Beckもそれについて言及しています(少なくとも2004年11月8日付けの電子メールで)が、私は通常の場所(Google、c2.comのwikiなど)で詳細を見つけることができませんでした。

詳細はどこで確認できますか?

4

1 に答える 1

5

イネーブラーパターンは、実際にはオブザーバーパターンの単なるバリエーションです。システムの興味深い部分にオブザーバーを設定し、条件を作成します。その後、イネーブラーは条件を監視し、ウィジェットを有効/無効にできます。

たとえば、ウィンドウをロードするときに、リストまたはコンボボックス(またはリストまたはコンボボックスの下のモデル)に何かが選択されているかどうかなどを監視する条件を作成します。「somethingSelectedCondition」のように呼び出すことができます。次に、イネーブラーを1つ以上の条件に関連付けられているウィジェットに接続します(通常は、実際にはそれらを一緒にしたいだけですが、一緒にできます)。

私は通常、渡すパラメーターの1つが名前付き条件の配列であり、一緒に結合するとウィジェットを有効/無効にするように、ウィジェットファクトリを使用してそれらを実装します。例えば

widgetFactory.createButton(String buttonLabel、String methodActionName、String [] conditionNames)

conditionNamesは、ある種のHashMapで使用可能な条件を検索し、CompositeCondition(条件の観測されたブール値のすべてをANDする)を作成し、CompositeConditionをリッスンし、作成されたウィジェットに有効/無効にするように指示するイネーブラーを作成します基礎となる条件に基づいています。

少し複雑に聞こえますが、基盤となるインフラストラクチャを作成すると、数行のコードで条件が決まり、ユーザーインターフェイスは常に条件と同期します。

イネーブラーのパターンを公式に作成したことはないと思います。または、URLを指定するだけです。

HTH、

ケン

于 2009-08-09T20:31:41.910 に答える