【问题标题】:When Mapping by Id. Who is the owner of the Id按 ID 映射时。谁是id的所有者
【发布时间】:2018-02-21 20:17:15
【问题描述】:

假设我们有一个Person 和一个Id: String, name: String。 然后,在另一个类中,我们有 Map<String, Person> 按 ID 保存人员。
我的问题是该人是否应该持有该 ID。或者现在 Id 的所有者就是地图本身。
PS:注意使用地图是出于性能原因,但因为它对建模有意义。

【问题讨论】:

  • 我急着写,我的错 :)。我所说的拥有一个身份是指谁对它负责。简单来说,如果我有一个 Map 这个人还应该持有 PersonId 吗?
  • 我不知道你为什么说数据库,我没说它。并且无论如何数据库不拥有数据,它只存储它们。

标签: java oop architecture software-design


【解决方案1】:

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

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

如果只是显而易见的情况,并且 PersonId 是 Person 的 Id,那么您的 Map 只是一个索引,这也可以,但并不是模型的一部分。

【讨论】:

  • 有道理。所以我想一个结论,这取决于用例。
猜你喜欢
  • 2011-02-02
  • 1970-01-01
  • 2021-07-29
  • 2022-08-11
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 1970-01-01
  • 2013-08-11
相关资源
最近更新 更多