如果我理解正确,在观察者设计模式中,具体观察者将具体子喷射作为场。这就是GoF的书中所说明的:
另一方面,在notifyObserver(Object arg)
的{{1}}的实现中,主题再次传递给观察者(参见source code)
如果具体主题应该通过具体观察者的一个领域来引用(如GoF的规范),为什么我们再次向观察者发送具体主题(如java.util.Observable
代码中所示)这似乎建议我java.util.observable
不符合GoF的规范。我在这里误解了什么吗?谢谢。
答案 0 :(得分:3)
是的,实施方式不同。
BUT!
模式是概念,而不是实现。而且这个概念是一样的。在这两种情况下,观察者都可以参考观察到的项目,但你绝对可以想象观察者根本不需要这个参考的情况。
所以这里的概念是“当某些东西改变状态或以某种方式执行时会收到通知”,并且它比任何实现都要广泛得多。