将UML关系映射到Java

Moh*_*gal 5 java uml

我们如何将诸如聚合,依赖性,关联之类的基本UML关系映射到Java类?这实际上如何工作?

Chr*_*ian 4

依赖关系可以是任何东西,因此人们无法分辨它是如何映射到 Java 的。它可以是类作为局部变量类型的简单用法;甚至可能是根本没有出现在代码中的依赖项。

协会更加具体。它通常由引用另一个的类中的实例变量(属性/字段)来实现。如果它是双向关联,则其他类具有相应的属性。如果上限为 1,则对应的角色是普通 Java 字段。如果大于 1,则使用集合。另一种实现方案是使用具有链接元组集合的额外类。对于双向关联,您可能还想调查“引用完整性”。

聚合是一种特殊的关联。代码的区别通常在于聚合通常在构造时就已经获取了它的各个部分(例如在构造函数中)。

您可以尝试使用实现样式(所谓的 CodeStyles),例如使用UML Lab - 它允许您查看不同的关联实现(注意:我是 UML Lab 供应商的员工)。当然,还有许多其他 UML 工具可以为关联生成代码。

正如 AmitD 所建议的那样,阅读一本有关它的书不会有什么坏处,因为关联可能会变得相当复杂。