2017-11-01 4 views
1

マスタとスレーブの関係を切り離し、汎用的に使用するための仲介を挿入するデザインパターンとは何ですか?マスターをスレーブから切り離し、サードパーティを作成するためのデザインパターン。

例:

  1. のColorPicker。ユーザーが小さなカラーボックスをクリックすると、カラーホイール付きのフライアウトが表示されます。
  2. 日付ピッカー:ユーザーがドロップダウンをクリックすると、日付を選択できるようにカレンダーが表示されます
  3. 選択ウィジェット:ユーザーが少し下向きの矢印をクリックしてリストから選択できます。

enter image description here

上記のすべては、マスター・スレーブ構成を有しています。マスターとのユーザーのやり取りは、スレーブからのアクションをトリガーします。

このコンポーネントを一般化すると、このコンポーネントをデカップリングして仲介を挿入できます。

  • マスター:仲介
  • 一般的なイベントを生成します:マスターとスレーブ
  • スレーブの間で有効にします。今、一般的なイベント

に応答し、我々は一般的に実装することができる3つのクラスを作成し、ありますcolorpicker、datepicker、およびこの構造を使用しているウィジェットを選択します。

このデザインパターンは何と呼ばれていますか? Thx、Keith:^)

答えて

1

Mediator patternをチェックしてください。

その目的は、特に「マスター - スレーブ」関係を促進するのではなく、相互に具体的な参照がなくても相互作用しなければならない2つ(またはそれ以上)のエンティティをさらに切り離すために記述する仲介者を指定します。

メディエーターパターンは、Observer patternを使用して実装できます。

1

私の推薦は、工場出荷時のパターンのようになります。ここでの顕著な特徴は、いわゆるマスタースレーブではなく、彼らののイベント・ドリブンな性質でもないように思わ

enter image description here

関連する問題