メディエーター設計パターンを使用する場合
-
22-08-2019 - |
質問
タイトルにあるように、いつ使用することをお勧めしますか? メディエーター設計パターン どこでそれが間違って使われているのを見ますか?
解決
次の場合にメディエーターを使用します。 オブジェクト通信の複雑さ し始める オブジェクトの再利用性を妨げる. 。このタイプの複雑さはビュー インスタンスによく現れますが、実際にはどこにでも発生する可能性があります。
メディエーターを誤用すると、メディエーターの同僚クラスのインターフェイスが機能不全に陥る可能性があります。
パターンの悪用について話すのは少し面白いように思えます。実装がパターンに従っている場合は、そのパターンが使用されています。そうでなければ、そうではありません。言い換えれば、メディエーターが他のことをしている場合、それはおそらくメディエーターではありません。パターンは、その動作、実際の内容によって定義されます。物の名前は単なるラベルです。
自問すべき本当の疑問は、パターンの実装がデザインに対するパターンの約束を満たしているかどうかです。メディエーター パターンは、複雑なオブジェクト間通信が管理できなくなったときに、それをカプセル化することを目的としています。これを達成できていない場合、またはあまりうまくいっていない場合は、仲介者が悪用されていると言えるでしょう。ある時点でそれは価値判断になります。
他のヒント
私はスイングのアプリに対処するためにそれを使用している。
私はそれがサブクラス化を必要とするので、私はお互いを知って、各コントロールを好きではないGUIを構築していたときます。
その代わり、私は、リスナーとウィジェットが含まれている主な目的を持っており、それが別のコントロール間を仲介させ、ボタン、テキストフィールドなど。
メディエータはまた、基本的にイベントポンプが何であるかです。 GUIのとゲームでは非常に一般的なパターンます。
また、私は非常にdisparシステム、およびレガシーの枠組みの中で通信する前に、伝達物質を使用しました。