在我的应用程序中,有许多观察者和一个主题,但我想向特定观察者发送有关变量变化的通知。
我感到很困惑,我也在互联网上搜索过它..但是没有太多。
如果早些时候被问过,我很抱歉......现在我找不到一些简明的答案。
答案 0 :(得分:5)
在我的应用程序中,有许多观察者和一个主题,但我想向特定观察者发送有关变量变化的通知。
这对我来说似乎不是一个合理的计划,因为这个设计模式的关键租户和允许更松散耦合的原因之一是被观察者不应该对观察者有任何了解。相反,您可以通知所有观察者,然后让观察者根据信息选择是否对通知作出反应。
以PropertyChangeListener为例。 PropertyChangeSupport在所有观察者上调用propertyChanged并在方法中传递PropertyChangeEvent来进行观察者通知。此PropertyChangeEvent具有String propertyName字段,任何观察者都可以使用该字段来帮助确定它将如何响应消息。
答案 1 :(得分:0)
以下是适合您的设计方法:
答案 2 :(得分:0)
将“提示”变量添加到您的通知方法(http://en.wikipedia.org/wiki/Observer_pattern)。传递要更新的观察者的实例。修改你的通知方法,检查“提示”是否正确,并做正确的事。