按标识映射时。谁是Id的所有者

时间:2017-09-13 08:04:16

标签: java oop architecture software-design

我们假设Person有一个Id: String, name: String。 然后,在另一个班级中,我们有Map<String, Person>通过Id持有人 我的问题是该人是否应该持有该ID。或者现在Id的所有者是地图本身 PS:注意使用地图是出于性能原因,但因为它对建模很有吸引力。

1 个答案:

答案 0 :(得分:1)

Person是一个实体,它有一个Id,所以是的,它应该持有它。

对于我来说,通过不同类中的Map再次对其进行建模是没有意义的,我必须更好地理解您的模型才能对此进行评论。除非PersonId 不是 Person模型的标识元素。如果它实际上是一个不同的实体,那么Person应该拥有它自己的Id,而PersonId将拥有一个不同的,独立的Id ...无论如何,该模型非常不完整,并且很难提出建议。

如果只是明显的情况,并且PersonId是Person的Id,那么你的Map只是一个索引,这也没关系,但实际上并不是模型的一部分。