3

我试图理解这种特定情况:

 ---------                ---------
|         |0..*      0..*|         |
|CLASS  A |------------->| CLASS B |
|         |              |         |
 ---------                ---------


 ---------                ---------
|         |1..*      0..*|         |
|CLASS  A |------------->| CLASS B |
|         |              |         |
 ---------                ---------

我从第一个例子中理解的是:A 类的一个对象与 B 类的零个或多个对象有关系。这是有道理的,因为 A 类知道 B 类。但是另一个多重性到底是什么意思?B 类不知道 A 类,所以在那里放一个多重性似乎没有意义。

第二个例子也是如此。

如果有人有一个很好的解释,我将非常感激。

问候,约翰

4

3 回答 3

1

事实上,这是有道理的,因为它表达了对(数据)模型的约束。

通过将多重性设置[1..*]A侧面,您声明应该始终至少有 1 个或多个A与 B 有关系的实例。

在编写(或生成)业务代码时,通常不会强制执行此约束,但这只是 UML 模型的一个应用程序。

它还可以用作功能文档,我绝对对双方的多样性感兴趣。

在设计数据库时,此类信息也很重要。它将确定该FK字段是否可以为空。

于 2018-05-17T16:49:16.073 回答
0

这意味着 B 的一个实例可以通过您的关联被 A 的许多实例作为目标。

但通常我不会为 uml 关联上的不可导航角色设置多重性,因为它不用于代码生成(这种多重性信息通常没有实现......)。

于 2018-05-17T14:25:08.843 回答
0

B不知道不会A妨碍多个As连接B。例如取B一个地址。A公司知道许多地址。但随后这些公司将地址交给其他公司 - 并且B不知道这一点。

于 2018-05-16T17:38:33.100 回答