1

我有一个职位,以及一些使用职位作为标识符的实体(地理、生物群落等)。如果我想访问它们,我需要按位置检索每一个,这会导致重复代码。另一方面,我可以创建一个作为容器的类,例如“位置”。但是,在这种情况下,要检索地理(例如),我需要打破得墨忒耳定律。

Repository.getLocation().getGeography().getHighestPeak();

有没有其他方法可以解决这个问题,或者我缺少一个常见的模式?请记住,这种类型的对象(以我描述的方式与位置相关)很可能在几个月后大量增长。

4

1 回答 1

0

我不确定将职位作为 ID 是否是个好主意

  • 实体的位置可能会发生变化,从而导致标识符不稳定。

  • 您将无法拥有具有相同位置的给定实体的多个实例。

另一方面,我可以创建一个作为容器的类,例如“位置”。但是,在这种情况下,要检索地理(例如),我需要打破得墨忒耳定律。

Repository.getLocation().getGeography().getHighestPeak();

您基本上是在说Location 有一个 entity,这有点尴尬。说一个实体有一个职位似乎更自然。怎么样

GeographyRepository.getGeographyByPosition(new Position(...)).getHighestPeak();

?

于 2012-10-29T12:41:50.620 回答