【发布时间】:2012-10-28 15:08:17
【问题描述】:
我有一个位置,以及一些使用位置作为标识符的实体(地理、生物群落等)。如果我想访问它们,我需要按位置检索每一个,这会导致重复代码。另一方面,我可以创建一个作为容器的类,例如“位置”。但是,在这种情况下,要检索地理(例如),我需要打破 demeter 定律。
Repository.getLocation().getGeography().getHighestPeak();
有没有其他方法可以解决这个问题,或者我缺少一个常见的模式?请记住,这种类型的对象(以我描述的方式与位置相关)很可能在几个月后大量增长。
【问题讨论】:
-
你确定这个职位适合做ID吗?是否有确保一个实体只有一个职位的规则?
-
看起来你的根聚合太大了。
标签: oop domain-driven-design encapsulation ddd-repositories law-of-demeter