我正在复习有关课堂设计的教程,一卷录像带可以有多份拷贝,每一份都可以由借款者借来。见图A:

我试图理解为什么图B中的答案是错误的,因为图B认为复制是一个属性。我唯一的猜测是,我只能代表每盘录像带的一份。因为我的录像带类的每一个实例,都代表了一个单独的录像带(例如粉红豹电影)。但是,如果我想让两个借款者借到粉红豹的多份拷贝,那么我就不能用带有copy属性的录像带类。请帮我理解一下不同之处。
PS。我真的希望这个信息不会得到负面的投票,因为我真的很困惑,需要了解这方面的信息,为即将到来的考试。
发布于 2021-11-11 11:42:31
根据你想要实现的目标,这两种方法都可以发挥作用。
请记住,类不是对象。您可以拥有同一个类的多个对象。因此,如果您采用图B的模型,您将有多部粉红豹电影,除了它们的拷贝号之外,它们都是相同的,这对于每个电影来说都是唯一的。每个借款者借来一份,其余的可以由其他人借来。
图B的主要缺点是,粉红豹电影的每一份拷贝都将复制相同的数据,用于演员、剧组、年份等。如图A所示,您可以在一个地方存储公共信息,而每个VideotapeCopy只需保存其拷贝号。
一般来说,软件设计没有一个正确的解决方案。这是为了找到最好的取舍。
小问题:借款者关系的基数不应该是0.1吗?你可以有一份目前没有被任何人借来的副本。
https://softwareengineering.stackexchange.com/questions/433445
复制相似问题