首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UML -两个实体之间的多个分解关系

UML -两个实体之间的多个分解关系
EN

Stack Overflow用户
提问于 2018-03-12 10:24:19
回答 1查看 229关注 0票数 2

我想塑造一个机场和一个城市,我想选择两者之间的适当分解关系,但我似乎无法决定选择哪一个,因为他们都有不同的关系。

一个城市可以独立存在,不需要一个机场,因此我想说,城市-机场连接是一个集合。

一个机场需要一个城市,如果没有一个城市的组成关系,它就不会存在。

有可能有两种关系吗?一种是城市->机场,另一种是机场->城市,但我觉得很奇怪,因为一种构图对我来说就像是一种关系,应该由两个人而不仅仅是一个人来尊重。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-12 10:42:55

这是一个广泛的误解,类之间的关系主要是“聚合”或“合成”。我认为这个不幸的传统已经在C++社区中建立起来了。

相反,类之间最重要的关系是“关联”,因为它们在UML类模型/图中被调用。因此,如果您想要模拟CityAirport之间的关系,您可能希望选择一对多的关联(因为一个城市可能有多个机场,但任何机场都分配给城市)。

在UML中,聚合和组合都是关联的特殊情况,用于表示两个类的实例之间的部分整体关系。由于机场实际上不是城市的一部分,而只是与之相关的,所以CityAirport之间既没有组成也没有聚合,而只是一个普通的关联。

在许多情况下,我们可能会怀疑一个组合是否是一个组合,将它建模为一个简单的组合是更安全的。

将关联建模为组合的唯一理由是,组件类型的实例是“弱实体”,没有自己的标识(对象ID)。但是机场确实有他们自己的身份证,所以没有必要,也没有收益,把他们建模成一个城市的组成部分。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49232897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档