我有一个 Album 类和一个 Track 类。轨道可以独立于专辑而存在,但专辑不能没有任何轨道而存在。
我认为这是一个聚合,因为当专辑被销毁时轨道不会被销毁。但是属于特定专辑的特定轨道将随专辑一起销毁...所以有人可以更清楚地说明这一点吗?
此外,这是家庭作业,但这不是真正的问题。我们正在做一个巨大的建模练习,这是一个单一的关联链接。
最佳答案
在非家庭作业的世界中,这是用例决定设计的地方。
如果轨道是独立的实体,而专辑是轨道的集合,那很好。然而,在这样的系统下,删除专辑并不意味着删除轨道。
...除非您有“删除专辑中的轨道”选项
...或者您决定仅当所有专辑不再包含某首轨道时才将其删除。
...并且您有一个无法删除的“未分类轨道”专辑。
在您决定数据模型支持您可能想要支持的确切使用模式之前,听起来您需要确定您打算如何使用您的应用程序。
关于java - 这是聚合还是组合关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371206/