为什么很多人不喜欢 JDK 观察者模式并建议实现自己的模式?为什么要重新发明轮子?
我看到的重新实现的观察者是 JDK 的同一个观察者。
最佳答案
一个可能的原因是 Observable
是一个您必须子类化的具体类。 Java 只有单继承,所以如果您已经有一个父类(super class),您也不能将 Observable
子类化。
第二个原因是你经常想给一个对象添加多种类型的观察者(监听器),而 Observer
不直接支持这个(你可以在 中触发不同的对象notifyObservers
方法,但这不像具有多个监听器接口(interface)那样清晰,并且有很多错误和低效率的可能性,因为观察者会收到不适合他们的对象。
关于Java重新实现Observer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9392787/