0

我一直在遵循 DDD 原则(遵循 Eric Evans 关于该主题的书)但是我最近开始重新阅读这本书并注意到我似乎偏离了repositories...的原则之一

“对于需要全局访问的每种类型的对象,创建一个可以提供内存中集合错觉的对象......”

我偏离了这一点,因为我repository每个 aggregate人创建了一个,并且发现这很适合我。即使一个aggregate本身与另一个相关联, 在创建(通常在工厂内)期间aggregate引用关联的聚合也是一件简单的事情。repositoryentity

我发现这样做的好处是在我的存储库中执行诸如缓存之类的操作时。它还真正简化了对象创建/持久性和域之间的划分。

有人可以给我一个例子,说明这种“全球访问”不适合帮助我了解我哪里出错了。

4

1 回答 1

0

我相信您使用了错误的术语...聚合不能包含其他聚合。您可能在这些聚合之间有关联。

无论如何,每个聚合都应该有存储库,否则你做错了什么。此外,最好使用存储库来加载聚合而不是来自其他聚合的关联。如果你保持你的关联(可能是因为你的 ORM 让它变得容易),你就没有完全拆分聚合。

于 2013-09-21T20:27:04.253 回答