【发布时间】:2018-11-10 13:53:06
【问题描述】:
我正在 coursera 的一门课程中学习设计模式。他们有课程笔记,其中他们将观察者设计模式的Subject 定义为超类,如下图和代码所示
现在我认为Subject 类本身是无用的,除非子类从它继承并创建任何特定主题。在那种情况下,Subject 不应该是 java interface 吗? Subject不是java接口但Observer是java接口是什么原因。
是否有任何具体原因。我对此有点困惑。
谢谢
【问题讨论】:
-
我认为 Subject 类本身是无用的,除非子类从它继承并创建任何特定的主题- 为什么会这样?
-
@user7 因为除了附加和分离观察者并保留它们的列表之外它还在做什么,当我们将从主题继承时,它最终将出现在子类中,换句话说,现在子类在继承后具有相同的代码加上自己的附加代码,所以如果主题是接口并且类实现了该功能,那不是一样吗?
标签: java oop design-patterns uml