【发布时间】:2015-12-08 16:10:57
【问题描述】:
好的,我了解组合和聚合。
聚合是可以存在于“父”类之外的任何对象。组合意味着当父对象死亡时,它所组成的对象也会死亡。
好的,我有一个测试应用程序。一个类别可以有视频。一个问题也可以有视频。一个类别由许多问题组成。我试图弄清楚什么是最好的模型,因为两者都可以有视频,但他们可能不会分享相同的视频。但在某些情况下,它们可能会。
对于应试用例,除了 Category 或 Question 对象外,不会观看这些视频。所以我可以将它们都设计为组成视频的成员。我不确定这是否是一个好的设计。我可以在 Category 中编写它们,但通过 Question 对象的方法提供它们。在这种情况下,Question 将是 Video 成员变量的兄弟,并且会简单地使用它。这将是一个聚合。但是,所有视频都不是类别视频,所有视频都不是问题视频。有时他们可以两者兼而有之。
所谓类别视频,是指用户在参加考试前观看视频。因此,视频属于类别级别,而不是问题级别。
问题视频是人们观看然后回答有关问题的视频。在这种情况下,视频更像是您观看并尽力回答问题的人物。
在某些情况下,它们可以两者兼而有之。
有没有更好的设计方法?传递视频似乎有很多可能没有必要的耦合。
谢谢!
【问题讨论】: