我应该如何显示接口和 class 之间的关系?
How should I show relationships between interface and class?
我有 Java Spring 网络应用程序和 UML。我有 class PersonalClient
(@Entity) 并且我有使用该实体与数据库交互的接口存储库 - PersonalClientRepository
(CRUD)。现在,在我的 UML 上它看起来像这样(绿色箭头):
但我认为,这是错误的。是否有正确的方式来显示这种关系?
你展示了一个延伸 «Interface» CrudRepository
的 «Interface» PersonalClientRepository
。 Java 中的扩展是 UML 专业化。它应该用一个大的白色三角形箭头表示。 (图表上的小箭头令人困惑,因为它在 UML 中表示可导航关联,这是完全不同的东西)。
我知道您的 «Entity» PersonalClient
是 PersonalClientRepository
会找到或存储的那种对象,它本身不是该接口的实现:
然后你应该替换你的绿色箭头并绘制一个从 PersonalClientRepository
到 PersonalClient
的依赖关系:它是一个带有空头箭头的虚线。这意味着存储库需要了解客户端(因为它使用或创建了一些):
class 图不是数据流图。您不使用双向箭头来显示 input/output。对于这种行为逻辑,您将使用 UML activity 图。
单向依赖足以表示存储库与客户端打交道,无论是输入还是输出。
相反,PersonalClient
在结构上不需要存储库。您可以在没有存储库的情况下很好地使用此客户端。
我有 Java Spring 网络应用程序和 UML。我有 class PersonalClient
(@Entity) 并且我有使用该实体与数据库交互的接口存储库 - PersonalClientRepository
(CRUD)。现在,在我的 UML 上它看起来像这样(绿色箭头):
但我认为,这是错误的。是否有正确的方式来显示这种关系?
你展示了一个延伸 «Interface» CrudRepository
的 «Interface» PersonalClientRepository
。 Java 中的扩展是 UML 专业化。它应该用一个大的白色三角形箭头表示。 (图表上的小箭头令人困惑,因为它在 UML 中表示可导航关联,这是完全不同的东西)。
我知道您的 «Entity» PersonalClient
是 PersonalClientRepository
会找到或存储的那种对象,它本身不是该接口的实现:
然后你应该替换你的绿色箭头并绘制一个从 PersonalClientRepository
到 PersonalClient
的依赖关系:它是一个带有空头箭头的虚线。这意味着存储库需要了解客户端(因为它使用或创建了一些):
class 图不是数据流图。您不使用双向箭头来显示 input/output。对于这种行为逻辑,您将使用 UML activity 图。
单向依赖足以表示存储库与客户端打交道,无论是输入还是输出。
相反,PersonalClient
在结构上不需要存储库。您可以在没有存储库的情况下很好地使用此客户端。