与贷款数据库(关联或聚合)的贷款关系? UML

Posted

技术标签:

【中文标题】与贷款数据库(关联或聚合)的贷款关系? UML【英文标题】:Loan relationship to Loan Database (Association or Aggregation)? UML 【发布时间】:2019-01-01 14:23:52 【问题描述】:

我了解,如果一个组件是另一个组件的“一部分”,那么它就是一个聚合,这使我相信“​​贷款”是贷款数据库的“一部分”。然而,没有贷款,贷款数据库就无法存在——这让我相信它可能只是一个关联。

感谢任何帮助,我已经查看了这些:

uml-association-vs-composition-and-detail-level

What is the difference between association, aggregation and composition?

【问题讨论】:

【参考方案1】:

我不知道您认为贷款数据库应该是什么。但是任何数据库都可以存在,即使它根本没有内容。去创建一个任意数据库。你可以这样做。它没有数据——也没有结构。您首先要做的是创建结构(例如贷款结构)。只有这样您才能将单个元素(行或贷款条目)添加到数据库中。

一般来说,你根本不应该太在意构图。它确实不会为您的模型添加太多语义。在遇到安全问题(必须删除相关数据)或内存管理很重要的情况下,复合聚合很有意义。我想说,共享聚合甚至是邪恶的,因为它没有固定定义的语义。 UML 规范明确规定您需要在使用域之前定义域中的语义。

tl;dr; 不要使用组合,而是专注于正确的关联,最好使用正确的多重性,并尽可能使用好的角色名称。

【讨论】:

以上是关于与贷款数据库(关联或聚合)的贷款关系? UML的主要内容,如果未能解决你的问题,请参考以下文章

在 Pandas Python 中聚合具有不同细节级别的数据

UML类图(大话数据模式)

UML类图(下):关联聚合组合依赖

UML 表示法 - 聚合/组合与“普通”关联

UML类图关系(泛化 继承实现依赖关联聚合组合)-转

UML中几种类间关系:继承实现依赖关联聚合组合的联系与区别