接口及其实现 class 是否应该存在 UML 图中的依赖关系?
Should dependencies in UML diagrams exist for both Interfaces and their implementing class?
假设我有以下 Java 界面。 ModalDrawer
是否依赖于我的 UML class 图中的 model
、pane
和 level
?
public interface ModalDrawer {
void draw(GameEngine model, Pane pane);
void update(Level level);
}
对我来说,class 实现 ModalDrawer
具有这些依赖性是有意义的,但对接口 ModalDrawer
来说并不是。 中的回复让我对这一点感到困惑。它有以下引用:
An interface isn't necessarily a contract of dependencies, it's a
contract of functionality. Any implementation can expose its
dependencies via constructor(s).
按照这个逻辑,我的问题的答案是"no"吗?
是的。 ModalDrawer 使用 GameEngine、Pane 和 Level 来定义它的参数,因此它依赖于这三个 类,因为如果没有它们的存在,它就会有未定义的参数类型。
假设我有以下 Java 界面。 ModalDrawer
是否依赖于我的 UML class 图中的 model
、pane
和 level
?
public interface ModalDrawer {
void draw(GameEngine model, Pane pane);
void update(Level level);
}
对我来说,class 实现 ModalDrawer
具有这些依赖性是有意义的,但对接口 ModalDrawer
来说并不是。
An interface isn't necessarily a contract of dependencies, it's a contract of functionality. Any implementation can expose its dependencies via constructor(s).
按照这个逻辑,我的问题的答案是"no"吗?
是的。 ModalDrawer 使用 GameEngine、Pane 和 Level 来定义它的参数,因此它依赖于这三个 类,因为如果没有它们的存在,它就会有未定义的参数类型。