私のアプリケーションでは、多くのオブザーバーと 1 つのサブジェクトがありますが、変数の変更について特定のオブザーバーに通知を送信したいと考えています。
私は混乱していて、インターネットでも検索しました..しかし、あまり得られませんでした。
以前に質問されていたら申し訳ありません...現在、簡潔な答えを見つけることができません。
私のアプリケーションでは、多くのオブザーバーと 1 つのサブジェクトがありますが、変数の変更について特定のオブザーバーに通知を送信したいと考えています。
私は混乱していて、インターネットでも検索しました..しかし、あまり得られませんでした。
以前に質問されていたら申し訳ありません...現在、簡潔な答えを見つけることができません。
私のアプリケーションでは、多くのオブザーバーと 1 つのサブジェクトがありますが、変数の変更について特定のオブザーバーに通知を送信したいと考えています。
この設計パターンの重要なテナントであり、より疎結合を可能にする理由の 1 つは、観察対象が観察者についての知識を持っている必要がないためです。代わりに、すべてのオブザーバーに通知し、その情報に基づいてオブザーバーが通知に反応するかどうかを選択できるようにします。
例として、PropertyChangeListener を取り上げます。オブザーバーの通知は、PropertyChangeSupport がすべてのオブザーバーで propertyChanged を呼び出し、メソッドで PropertyChangeEvent を渡すことによって行われます。この PropertyChangeEvent には、オブザーバーがメッセージへの応答方法を決定するために使用できる String propertyName フィールドがあります。
「ヒント」変数を通知メソッドに追加します ( http://en.wikipedia.org/wiki/Observer_pattern )。更新するオブザーバーのインスタンスを渡します。「ヒント」がこれであるかどうかを確認し、正しいことを行うように通知メソッドを変更します。
これがあなたのための設計アプローチです: