【发布时间】:2021-03-04 00:55:19
【问题描述】:
我正在研究图书馆管理系统的类图,需要帮助来定义以下类之间的关系 - 人员、成员、图书馆员和帐户。
在我的解决方案中,我将其保留为:
- Person 有一个 Account 实例
- 成员和图书管理员扩展 Person
但是,当我提到互联网上的其他解决方案和著名的面试准备课程时,它是这样建模的:
- Account 有一个 Person 实例
- 会员和图书管理员扩展帐户
你能帮忙看看第二个比第一个有什么优势吗?前进的正确方式应该是什么?
[编辑] 添加更多关于我如何为个人、帐户、会员和图书馆员建模的信息:
- Person:该类用于为人的基本数据建模,例如地址、姓名、电子邮件等。
- 帐户:它包含帐户 ID、帐户状态(关闭/打开/取消)等属性
- 会员:会员被确定为可以发行/归还书籍的人。它将包含 totalCheckedOutBooks、totalFineDue 等数据。
- 图书管理员:图书管理员作为管理员来管理图书馆。它包含诸如 blockMember()、addBookItem() 等行为。
【问题讨论】:
-
尝试提供更多信息,以便我们在特定项目上为您提供帮助。如果您提供 UML 类图或 ER 图也会有所帮助。此外,请在列表中定义每个类的含义:人员、成员、图书管理员和帐户。
-
我相信任何组合都可以适合特定领域,这些词具有广泛的含义。你能用简单的英语分享你使用的这些词的定义吗?在你的上下文中什么是人?帐户、会员和图书管理员都一样吗?一旦清除了这一点,数据模型应该变得更加明显。我想DDD 可以在这里提供帮助。
标签: java oop design-patterns