假设我有 A 类,分别与 X、Y 和 Z 类关联。我需要指出,对于任何给定的 A 类实例,只能实例化这些关联中的一个(因此,一个异或约束)。如果约束只是跨两个关联,我知道该怎么做。显然我可以制作三个单独的异或约束(XY,XZ,YZ),但我想知道是否有更好/更清洁/正确的方法来做到这一点?
编辑:各个关联的多重性约束不一样。使用抽象类或接口将不起作用。此外,一个注释是不够的。我需要使用某种形式化的结构,最好是标准化的(例如通过 OMG)来表达这一点,因为我正在以编程方式处理模型元素(即它不仅仅是一张图片)。我了解 UML 的底层模型是如何为这个工具提供的。它还指定(虽然有点模糊)它应该如何表示。事实上,我想我的主要问题是找到一个允许我制作这种符号的工具。我不认为 MagicDraw 这样做。我应该早点说明这些事情。
FWIW,我正在使用 MagicDraw。如果我能以 MagicDraw 真正理解的方式做到这一点,那将是一个很好的奖励。如果那是不可能的,我可以忍受它。