UML类图中的接口聚合

UML类图中的接口聚合,uml,modeling,aggregation,Uml,Modeling,Aggregation,通常在接口之间放置聚合关联吗 例如: 在这里,我觉得一个聚合是多余的。接口之间的接口更重要,因为这是类的客户机将要使用的。BMW和LuxuryWheel将始终通过ICar和IWheel使用。然而,ICar并没有真正聚合IWheel,因为它是一个接口,不包含实际的逻辑。宝马显然是在聚合LuxuryWheel,但这几乎是一个实现细节 您将如何对此进行建模?在UML中,有没有一种方法可以将聚合(或关联)标记为抽象的或要实现的?如果您查看,您会在7.3.24中发现: 特别是 接口意味着一致性 两者之间

通常在接口之间放置聚合关联吗

例如:

在这里,我觉得一个聚合是多余的。接口之间的接口更重要,因为这是类的客户机将要使用的。BMW和LuxuryWheel将始终通过ICar和IWheel使用。然而,ICar并没有真正聚合IWheel,因为它是一个接口,不包含实际的逻辑。宝马显然是在聚合LuxuryWheel,但这几乎是一个实现细节

您将如何对此进行建模?在UML中,有没有一种方法可以将聚合(或关联)标记为抽象的或要实现的?

如果您查看,您会在7.3.24中发现:

特别是 接口意味着一致性 两者之间必须存在关联 接口的实现


因此,是的,您可以在接口之间绘制聚合,但您的图表可能并不完全代表您所期望的内容。

7.3.24似乎与此相关。如果我阅读了该部分(并查看示例),在我看来,似乎没有显式地建模具体类之间的关联。它们通过接口之间的关联来暗示。这意味着BMW和LuxuryWheel之间的关联是超级的。@TheFogger:好吧,这就是问题所在……如果规范中的“必须存在”意味着它应该在模型中,那么因为接口之间存在关联,所以必须在ICar(BMW)和IWheel(LuxuryWheel)的实例之间存在关联。另一方面,有时我对UML规范的自然语言描述不是很有信心,我想说的是,您已经进入了这些灰色区域之一。也许您应该使用一个抽象类ACar,它具有AWheels的聚合而不是接口。这是大多数人都会接受的。