我理解,如果某个组件是另一个组件的“一部分”,则它是汇总,这使我相信“贷款”是贷款数据库的“一部分”。但是,没有贷款就不能存在贷款数据库-这使我相信它可能只是一个关联。
感谢您的帮助,我已经复习了以下内容:
uml-association-vs-composition-and-detail-level
What is the difference between association, aggregation and composition?
答案 0 :(得分:2)
我不知道您认为贷款数据库应该是什么。但是任何数据库都可以存在,即使它根本没有任何内容。去创建一个任意数据库。你可以做到的。它没有数据-也没有结构。首先要做的是创建结构(例如贷款结构)。只有这样,您才能将单个元素(行或贷款项)添加到数据库中。
通常,您根本不需要太在意构图。它实际上并没有为模型增加太多语义。在发生安全性问题(必须摆脱相关数据)或内存管理很重要的情况下,复合聚合才有意义。我说共享聚合甚至是邪恶的,因为它没有固定的定义语义。 UML规范明确指出,在使用它之前,您需要在域中定义语义。
tl; dr; 不要使用组合,而应该专注于正确的关联,最好是具有正确的多重性以及可能的好角色名称。