我试图理解这个案例:
--------- ---------
| |0..* 0..*| |
|CLASS A |------------->| CLASS B |
| | | |
--------- ---------
--------- ---------
| |1..* 0..*| |
|CLASS A |------------->| CLASS B |
| | | |
--------- ---------
我从第一个例子中理解的是: A类中的一个对象与B类中的零个或多个对象有关系。这是有道理的,因为A类知道B类。但另一个多重性究竟意味着什么呢? B级不知道A类,因此在那里放置多重性似乎没有意义。
第二个例子也是如此。
如果有人有一个很好的解释,我会非常感激。
问候, 约翰
答案 0 :(得分:0)
B
不了解A
的事实不会阻碍多个A
连接到B
。例如,将B
作为地址。 A
公司知道许多地址。但后来这些公司将地址交给其他公司 - B
并不知道这一点。
答案 1 :(得分:0)
这意味着B的实例可以通过您的关联被A的许多实例作为目标。
但通常我没有为uml关联设置不可导航角色的多重性,因为它不用于代码生成(通常没有这种多重性信息的实现......)。
答案 2 :(得分:0)
事实上,它确实有意义,因为它表达了对(数据)模型的约束。
购买在[1..*]
方面将多重性设置为A
,您声明应始终存在至少一个或多个与{B}有关系的A
实例。
在编写(或生成)业务代码时,通常不会强制执行此约束,但这只是UML模型的一个应用程序。
它也可以作为功能文档,我非常感兴趣的是双方的多重性。
在设计数据库时,此类信息也至关重要。它将确定FK
字段是否可以为空。