好了,我理解了组合和聚合。
聚合是可以存在于“父”类之外的任何对象。组合意味着当父对象死亡时,它所组成的对象也会死亡。
好的,我有一个测试应用程序。类别可以包含视频。问题也可以有视频。一个类别由许多问题组成。我正在尝试找出最好的模型,因为两者都可以有视频,但它们可能不会共享相同的视频。然而,在某些情况下,他们可能会。
对于测试用例,除了Category或apart对象之外,不会观看这些视频。这样我就可以把他们都设计成视频成员了。我不确定这是不是一个好的设计。我可以将它们组合在Category中,但通过一个方法将它们提供给object对象。在这种情况下,问题将是视频成员变量的兄弟变量,并将简单地使用它。这将是一个聚合。但是,并不是所有的视频都是分类视频,也不是所有的视频都是问题视频。有时两者都有可能。
所谓分类视频,我的意思是用户在参加测试之前观看视频。因此,视频是类别级别的,而不是问题级别的。
提问视频是人们观看并回答有关问题的视频。在这个场景中,视频更像是一个你看着并尽可能回答问题的图形。
在某些情况下,它们可能两者都是。
有没有更好的方法来设计这个?传递视频似乎有很多耦合,这可能不是必需的。
谢谢!
发布于 2015-09-14 08:45:15
您可以创建一个可以存储视频id的关联类,Associaton Type=Category/ store /Both,AssociateIds(一个列表)
在这种情况下,您不需要使用聚合或组合。
https://stackoverflow.com/questions/32534637
复制相似问题