【问题标题】:How should aggregation and association be thought of应该如何考虑聚合和关联
【发布时间】:2020-04-19 10:28:17
【问题描述】:

假设我们有一家连锁超市,并且有许多超市属于它。

如果连锁店不复存在,超市将不得不关闭。这可以使用组合关系在 UML 中实现。填充的菱形应位于关联的哪一侧?

  • 应该是Chain----<.>supermarket 吗?还是chain<.>-----supermarket) ?
  • 应该认为是超市属于连锁还是连锁有超市?

【问题讨论】:

标签: uml associations aggregation composition class-diagram


【解决方案1】:

在 UML 中,您将组合菱形放在组合另一个的类旁边。在您的示例中,Chain 类型的个人组成 [1] Supermarket 类型的几个个人,因此黑色菱形位于关联的Chain 末端。


[1] 有些人发音为“Chainhas Supermarkets”,这与“has”一词的不同含义没有区别,如“Chain name"。

【讨论】:

  • +1 以获得准确答案。既然您在 OMG,我想提请您注意动词“撰写”的可怕歧义:根据牛津词典,撰写的意思是 "to be part of something"。这与您在“应用组合”的意义上使用这个动词的方式完全相反。这种模棱两可肯定会引起人们对右侧的怀疑。你介意找一个不那么模棱两可的措辞吗?
  • 感谢您的 +1。作为一个以英语为母语的人,我从来没有遇到过“to compose”曾经的意思是“成为某事的part”。我能找到的任何其他字典都不支持这个词义。复合材料由零件组成。如果您仍然对此有强烈的感觉,您可以通过发送电子邮件至 issues@omg.org 来提交问题或更改请求。
  • 感谢您的反馈!我不是母语人士,因此不得不依赖字典 ;-) 我认为牛津是一个可靠而全面的字典。
  • 不客气。您可能需要重新考虑使用 OED 来理解现代英语。 ?
猜你喜欢
  • 1970-01-01
  • 2012-07-01
  • 2019-12-29
  • 2020-02-18
  • 1970-01-01
  • 2011-06-21
  • 2014-11-04
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多