在我的應用程序中,有很多觀察者和一個主題,但我想通知特定的觀察者有關變量的一些變化。設計模式 - 向特定觀察者發送通知
我越來越困惑,我在互聯網上搜索它..但沒有太多。
對不起,如果它已被問及更早...現在我無法找到一些簡潔的答案。
在我的應用程序中,有很多觀察者和一個主題,但我想通知特定的觀察者有關變量的一些變化。設計模式 - 向特定觀察者發送通知
我越來越困惑,我在互聯網上搜索它..但沒有太多。
對不起,如果它已被問及更早...現在我無法找到一些簡潔的答案。
在我的應用程序中,有很多觀察者和一個主題,但是我想發送通知給特定的觀察者,對變量進行一些更改。
這對我來說似乎不是一個合理的計劃,因爲這種設計模式的關鍵租戶和它允許寬鬆耦合的原因之一是觀察者不應該有任何關於觀察者的知識。相反,您可以通知所有觀察員,然後讓觀察員根據信息選擇是否對通知作出反應。
以PropertyChangeListener爲例。通過PropertyChangeSupport在所有觀察者上調用propertyChanged並在該方法中傳遞PropertyChangeEvent來完成觀察者的通知。這個PropertyChangeEvent有一個String propertyName字段,任何觀察者都可以使用它來幫助決定它將如何響應該消息。
這裏是你的設計方案:
將「提示」變量添加到您的通知方法(http://en.wikipedia.org/wiki/Observer_pattern)。傳遞你想要更新的觀察者的實例。修改你的通知方法來檢查「提示」是否是這樣並做正確的事情。
因此,PropertyChangeListener可以被看作Observer的變體,對吧?你對這個問題有什麼想法? http://stackoverflow.com/questions/23516499/unsure-as-to-how-to-listen-to-model-properties –