Class 规范,替代继承?
Class specification, alternative to inheritance?
我需要您的意见和建议,以获得我的 类 的最佳规格。
一个 Leader 有一个 Persons 团队,每个 Person 可以是许多领导者团队的一部分。领导者不能属于任何其他团队。
哪种解决方案更好?如果您有其他选择,我将不胜感激,
(我正在处理 JAVA 使用 JPA 的应用程序)
UML 图:
非常感谢
编辑:我以为我会用这个例子更好地解释我的问题,但实际上我不这么认为,这是原始问题:
大多数团队都有一个您无法在模型中捕捉到的身份。现在可能没有这个要求,但如果明天有呢?对现实建模往往会使模型更耐用,因为当需求变得更清晰或发生变化时,您不必完全重做模型。因此,我建议您使模型更接近真实世界。
话虽如此,我认为您可能遗漏了一些东西:
- 每个团队(通常)有一个领导者和一组成员
- 一个人扮演一个角色
- 角色(在您的情况下)可以是领导者或成员
此外,使用关联结束名称。假设您使用的是真正的 UML 工具,您的模型已经包含已经表示列表的未命名属性,那么为什么不命名它们并使用它们而不是复制它们呢?
我会想出以下几点:
- 一个
Leader
是一个Person
。
- 一个
Leader
可以有任意数量的Teams
- 一个
Team
正好有一个Leader
- 一个
Team
由(任意数量的)Person
s 组成
- 一个
Person
可以是任意数量的Teams
(最后两个要点源自 Composition
没有多重性)
如您所见,UML 在表达方面非常直接。
我需要您的意见和建议,以获得我的 类 的最佳规格。 一个 Leader 有一个 Persons 团队,每个 Person 可以是许多领导者团队的一部分。领导者不能属于任何其他团队。
哪种解决方案更好?如果您有其他选择,我将不胜感激, (我正在处理 JAVA 使用 JPA 的应用程序)
UML 图:
非常感谢
编辑:我以为我会用这个例子更好地解释我的问题,但实际上我不这么认为,这是原始问题:
大多数团队都有一个您无法在模型中捕捉到的身份。现在可能没有这个要求,但如果明天有呢?对现实建模往往会使模型更耐用,因为当需求变得更清晰或发生变化时,您不必完全重做模型。因此,我建议您使模型更接近真实世界。
话虽如此,我认为您可能遗漏了一些东西:
- 每个团队(通常)有一个领导者和一组成员
- 一个人扮演一个角色
- 角色(在您的情况下)可以是领导者或成员
此外,使用关联结束名称。假设您使用的是真正的 UML 工具,您的模型已经包含已经表示列表的未命名属性,那么为什么不命名它们并使用它们而不是复制它们呢?
我会想出以下几点:
- 一个
Leader
是一个Person
。 - 一个
Leader
可以有任意数量的Teams
- 一个
Team
正好有一个Leader
- 一个
Team
由(任意数量的)Person
s 组成
- 一个
Person
可以是任意数量的Teams
(最后两个要点源自 Composition
没有多重性)
如您所见,UML 在表达方面非常直接。