gpt4 book ai didi

java - 在 UML 类图中建模与 Java 枚举的关联

转载 作者:行者123 更新时间:2023-11-29 06:30:13 25 4
gpt4 key购买 nike

我对在 UML 类图中使用 Java 枚举关联感到困惑。目前,我正在为一个系统建模,该系统包含一个具有某些属性的 Car 类。有些也是枚举,就像 FuelKindCarBrand:

enter image description here

数据库中会有很多汽车(Car 是一个 JPA 实体),我问自己哪个是 FuelKindCarBrand

到目前为止我的想法:

  • 枚举实例是自己实例化的,因此从技术上讲它们不依赖于 Car。同样从技术上讲,这些枚举包含所有可用的“选择”,因此没有严格的依赖性。所以它们之间不可能是Composition Aggregation。
  • 一个 Car 有一个 CarBrand 和一个 FuelKind。但从另一方面来说:一个品牌或燃料种类是一车还是多车?从逻辑上讲,多辆汽车可以来自梅赛德斯或使用汽油行驶。但从技术上讲,枚举实例没有链接到一辆或多辆汽车。

对于如何解决这个问题,您有什么建议和想法吗?

最佳答案

您的做法几乎是正确的。定向关联是这种情况下的正确关系。

要阐明关联是指类中的特定属性,请使用目标角色。这在连接器的枚举端(不是类端)显示为带有属性名称 (fuelKind) 的文本标签。

如果您有两个相同枚举类型的属性,则必须绘制两个单独的关联。

但是,由于您在属性中使用了类型名称,因此您实际上根本不需要绘制任何关系。但如果这样做,与目标角色的定向关联在语义上等同于命名属性中的类型。您选择哪一个是风格问题,如果有助于澄清事情,您可以两者都做。

至于另一方向的关系,关联的定向性质意味着关系是单向的。换句话说,按照您完成的方式绘制它并不表示从枚举类型返回类的关系。对于枚举类型,通常不应该存在这种关系,就像整数或字符串不存在这种关系一样。

关于java - 在 UML 类图中建模与 Java 枚举的关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36570586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com