【问题标题】:How should I show relationships between interface and class?我应该如何显示接口和类之间的关系?
【发布时间】:2022-01-12 19:03:09
【问题描述】:

我有 Java Spring Web 应用程序和 UML。我有PersonalClient(@Entity)类,并且我有使用该实体与数据库交互的接口存储库-PersonalClientRepository(CRUD)。现在,在我的 UML 上它看起来像这样(绿色箭头):

但我认为,这是错误的。有没有正确的方法来显示这种关系?

【问题讨论】:

    标签: java class interface repository uml


    【解决方案1】:

    您显示了一个扩展«Interface» CrudRepository«Interface» PersonalClientRepository。 Java中的扩展是UML的专业化。它应该用一个大的白色三角形箭头表示。 (图表上的小箭头令人困惑,因为它在 UML 中表示可导航的关联,这是完全不同的东西)。

    我了解您的 «Entity» PersonalClientPersonalClientRepository 会找到或存储的对象,它本身并不是该接口的实现:
    然后,您应该替换您的绿色箭头并绘制从 PersonalClientRepositoryPersonalClient 的依赖关系:它是带有开放箭头的虚线。这意味着存储库需要了解客户端(因为它使用或创建了一些):

    类图不是数据流图。您不使用双向箭头来显示输入/输出。对于这种行为逻辑,您将使用 UML 活动图。

    单向依赖足以表示存储库与客户端打交道,无论它是输入还是输出。 相反,PersonalClient 在结构上不需要存储库。您可以在没有存储库的情况下很好地使用此客户端。

    【讨论】:

    • 依赖关系不是虚线而不是虚线吗?不过是一个小细节。
    • @Ister 啊!把它放在我糟糕的英语词汇上。在我的母语中,两者都是同一个词。一张图片值一千字;-)
    猜你喜欢
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多