uml - 类图 UML 的类

标签 uml class-diagram class-design

我目前正在研究一个例子from an online course为图书馆管理系统设计类图。

但是,我对这个例子感到困惑:enter image description here

我无法真正理解创建两个类的目的:BookBook Item。 难道我不能只将 Book Item 类中的属性插入到 Book 类中并仅保留这两个类中的一个类吗?

最佳答案

这是一个有趣的例子:

  • 书籍是指出版商或图书馆目录中的书籍。它有一个唯一标识它的 ISBN、标题、作者等。
  • BookItem 是指图书馆拥有并借给用户的该书的副本。

但是这个例子需要改进:

  • 模型应该更喜欢 composition over inheritance .,在 UML 中翻译为“更喜欢简单的关联而不是特化”。多个 BookItems 可能引用同一本 Book,而模型并未捕捉到这一现实。
  • 需要重新审视书籍与书籍项目之间的界限。例如,BookFormat(仅在项目中)实际上可能会影响页数(在书中)。此外,出版日期似乎不是特定于某本书的日期,而是针对该书的一般日期。每个项目的打印日期可能会发生变化。

关于uml - 类图 UML 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72450640/

相关文章:

uml - 如何绘制一个从外部包中的类扩展的类,例如类图中的抽象类BroadcastReceiver?

uml - Sparx企业架构师: Show programming language in component diagram

c# - 是否重载方法?

c++ - 从 UML 到 C++ "Interface offered by a component"

java - 在哪里放置检查图中两条边是否平行的方法?

design-patterns - 设计 : Class circular dependency?

php - 是否可以在 UML 中可视化一堆函数

oop - UML:一个类可以通过组合聚合到其他两个类吗?

oop - 代码设计: Who's responsible for changing object data?

c++ - 变长对象 : Ever a good idea?