Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Uml 将关联类添加到组合关系_Uml - Fatal编程技术网

Uml 将关联类添加到组合关系

Uml 将关联类添加到组合关系,uml,Uml,我想知道向组合关系添加关联类是否正确 例如(参见下图),我可以将关联类(即NameValue类)添加到Name类和Value类之间的组合关系中吗?一个名称可以有多个值,一个值只能附加到一个名称。NameValue类存储名称-值对 我创建关联类(即NameValue类)的原因是我需要在NameValue类和其他类(如类A)之间创建关联/关系 如果答案是肯定的,是否建议将关联类转换为普通类 非常感谢 我想知道向组合关系添加关联类是否正确 是的,在关联类中,关联可以有一个作为组合的所有者端属性,因为

我想知道向组合关系添加关联类是否正确

例如(参见下图),我可以将关联类(即NameValue类)添加到Name类和Value类之间的组合关系中吗?一个名称可以有多个值,一个值只能附加到一个名称。NameValue类存储名称-值对

我创建关联类(即NameValue类)的原因是我需要在NameValue类和其他类(如类A)之间创建关联/关系

如果答案是肯定的,是否建议将关联类转换为普通类

非常感谢

我想知道向组合关系添加关联类是否正确

是的,在关联类中,关联可以有一个作为组合的所有者端属性,因为§11.5.3.2从第200页开始的关联类和§11.8.2关联类[class]中都没有针对该属性的任何内容,即使关联类也有一些限制

NameValue类存储名称-值对

请注意,这绝对不是UML中关联类的类的目标,在实现关联类时也没有必要这样做

我创建关联类(即NameValue类)的原因是我需要在NameValue类和其他类(如类A)之间创建关联/关系

由于NameValue在实现级别用于存储名称-值对,然后实现关联(-class),因此在UML中,您需要的图是:

(NameValue在UML级别不存在,但仅在实现级别存在)

如果答案是肯定的,是否建议将关联类转换为普通类


在UML级别上,关联类不是凭空存在的,它们使模型变得清晰,因此我不建议不要使用类关联(但这当然是基于观点的)

似乎这是关联类的夜晚(我的时间):)嗨,布鲁诺,谢谢你的回复。NameValue关联类在我的uml图中实际上是一个重要的类,因为它与许多类有关系,因此,我想知道是否可以为此目的创建NameValue关联类,以便以更清晰的方式显示NameValue类与其他类的关系?@snow如果不了解NameValue的其他用途,很难回答。不管怎么说,让我说,仅仅通过名称NameValue就可以将名称和值关联起来,因此“差”或“低级别”的含义,这个类是有问题的。一般来说,当我们无法找到一个元素的“好”名称时,这是因为该元素不是一个好的解决方案。很抱歉没有解释NameValue类的详细信息。它实际上是一个名为Property的类,它将PropertyName(实例的示例:Level)和PropertyValue(实例的示例:High、Middle、Low)关联起来。Property类还包含一个ID字段。Property类与其他类有关联,如User(表示User有属性)、Resource(表示Resource有属性)等。只需再添加一点,Property association类也有自己的约束。@snow有一点是肯定的:在UML级别,用于创建关联的类并不存储由关联链接的类的实例对,即关联的属性(所有者端)的角色。如果您有一个关联类而不仅仅是一个关联,这是因为您需要将该类的语义添加到您的关联中。