Java重新实现Observer

标签 java design-patterns observer-pattern

为什么很多人不喜欢 JDK 观察者模式并建议实现自己的模式?为什么要重新发明轮子?

我看到的重新实现的观察者是 JDK 的同一个观察者。

最佳答案

一个可能的原因是 Observable 是一个您必须子类化的具体类。 Java 只有单继承,所以如果您已经有一个父类(super class),您也不能将 Observable 子类化。

第二个原因是你经常想给一个对象添加多种类型的观察者(监听器),而 Observer 不直接支持这个(你可以在 中触发不同的对象notifyObservers 方法,但这不像具有多个监听器接口(interface)那样清晰,并且有很多错误和低效率的可能性,因为观察者会收到不适合他们的对象。

关于Java重新实现Observer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9392787/

相关文章:

java - 调用构造函数的设计模式

ios - 一个对象的变化应该影响同一类的其他对象

java - 不理解 java 教程中提到的如何将接口(interface)用作 API 的主题。不要得到顿悟时刻

ios - 绑定(bind)模型和 View : how to observe object properties

java - 在 Maven 模块之间共享依赖关系

java - Jclouds无法创建实例

java枚举异常

c++ - 具有不同通知的观察者模式

.net - 观察者模式与事件驱动模型有何不同?

java - 嵌入/嵌套自定义 JSP 标记以设置另一个 HTML 标记的属性值