我目前正在研究一个例子from an online course为图书馆管理系统设计类图。
我无法真正理解创建两个类的目的:Book
和Book Item
。
难道我不能只将 Book Item
类中的属性插入到 Book
类中并仅保留这两个类中的一个类吗?
最佳答案
这是一个有趣的例子:
书籍
是指出版商或图书馆目录中的书籍。它有一个唯一标识它的 ISBN、标题、作者等。BookItem
是指图书馆拥有并借给用户的该书的副本。
但是这个例子需要改进:
- 模型应该更喜欢 composition over inheritance .,在 UML 中翻译为“更喜欢简单的关联而不是特化”。多个
BookItems
可能引用同一本Book
,而模型并未捕捉到这一现实。 - 需要重新审视书籍与书籍项目之间的界限。例如,BookFormat(仅在项目中)实际上可能会影响页数(在书中)。此外,出版日期似乎不是特定于某本书的日期,而是针对该书的一般日期。每个项目的打印日期可能会发生变化。
关于uml - 类图 UML 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72450640/