【发布时间】:2015-08-02 10:30:54
【问题描述】:
我对模型-视图-控制器的东西还是很陌生,这只是我的想法。为什么 Observable 类是要扩展的类,而 Observer 类是接口?这样做的目的是什么?
【问题讨论】:
标签: java model-view-controller observer-pattern
我对模型-视图-控制器的东西还是很陌生,这只是我的想法。为什么 Observable 类是要扩展的类,而 Observer 类是接口?这样做的目的是什么?
【问题讨论】:
标签: java model-view-controller observer-pattern
正如您在Java Documentation 中看到的那样,Observable 类已在 JDK 1.0 版本中添加。它可能有点过时了。但是我们谈论的是 JDK,所以这个类仍然存在,因为 JDK 保留了所有已弃用的代码,直到人类灭亡。
如果您查看Observer Pattern,那么您可能已经意识到没有 Observable 类。相反,它被命名为主题。 Subject 和 Observer 通常显示为类,而是用作接口。 JDK中过时的观察者模式实现存在问题。 Subject (Observable) 是一个类,必须是子类。因此,您遇到了无法从另一个更重要的类继承的问题。 Java 只允许单一继承。
最佳建议:不要使用这个过时的实现。
两种选择:
【讨论】: