【发布时间】:2018-06-29 20:36:55
【问题描述】:
我想知道Human 和Driver License 之间的关系是聚合还是组合?我很清楚Room 和Building 关系是一个组合,Chair 和Room 是一个聚合。但是Driver License 可以在没有Human 的情况下存在,但如果没有Human,它的存在就毫无意义。我被卡住了。
【问题讨论】:
-
在这里阅读我的答案:stackoverflow.com/questions/48268986/…
-
@ThomasKilian 感谢您的回复。但是,我认为这并不能解决我的误解,根据您在答案中建议的解释
Driver License不会消失,如果所有者将失去它Human所以我可以说这是聚合。但是Driver License没有意义,例如,当它的Owner将死时,License的一个具体实体不能被另一个Human使用,而Engine的具体实体可以被另一个@987654338 使用@。事实上,Human生命周期定义了License的生命周期,但License可以同时存在而没有Human。 -
@ThomasKilian 所以我们可以同时获得组合和聚合。但我想我的想法有误。真相在哪里?
-
嗯,这里是安全方面。如果司机经过,许可证必须消失(失效)。所以你可以把它变成一个复合聚合。
-
我应该说:“你必须把它做成一个复合...”