UML 类图中的接口聚合

发布于 2024-10-21 13:02:22 字数 331 浏览 2 评论 0原文

人们通常会在接口之间放置聚合关联吗?

示例:

Example Diagram

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

你会如何建模? UML 中有没有一种方法可以将聚合(或关联)标记为抽象或待实现?

does one usually put aggregating associations between interfaces?

Example:

Example Diagram

Here, I feel that one aggregation is redundant. The one between the interfaces is more important, because that's what the clients of the classes will be using. BMW and LuxuryWheel will always be used through ICar and IWheel. However, ICar does not really aggregate IWheel, as it is an interface and contains no actual logic. BMW does clearly aggregate LuxuryWheel but that is almost an implementation detail.

How would you model this? Is there a way in UML to mark an aggregation (or association) as abstract, or to-be-implemented?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

牵你的手,一向走下去 2024-10-28 13:02:22

如果您查看 UML 规范,您会发现7.3.24:

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

所以,是的,您可以在接口之间绘制聚合,但您的图表可能并不完全符合您的预期。

If you look at the UML spec, you'll find that in 7.3.24:

In particular, an association between
interfaces implies that a conforming
association must exist between
implementations of the interfaces.

So, yes, you can draw aggregations between interfaces, but your diagram may not exactly mean what you expect.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文