它们之间的区别在于:第一张图,简单的多对多关联表明用户实例和产品实例之间只能有一个关联。相反,第二个表明同一用户和产品之间可以存在多个关联。也就是说,如果我们有 user1 和 Product1,他们也可以创建两个关联。第三个我无法解释它的用处,你能告诉我吗?
你是对的。 2 和 3 之间没有任何有意义的区别。
曾经有过,但它被 UML 工作组在 issue UML22-21 中抛弃了,尽管有很好的理由。由于这实际上使关联类过时,问题 UMLR-443 试图将其重新引入,但这仍然是开放的。所以,这真的取决于你的喜好。
请注意,在第一种情况下,关联结束可能是
{non unique}
(默认为 {unique}
)。那么任何一对实例之间都可能存在许多链接。然后这三个图的意思都是一样的。
PS:您写下“用户和产品实例之间只能有一个关联”。 “关联”应替换为“链接”。请记住,链接是关联的实例。