1
1
需要注意的是:当第一本DDD书出版时(Evans,2003),领域实体是第五章中描述的模式,但生命周期管理模式(聚合、工厂、存储库)在第章中描述 六 . 这里的部分想法是,您希望避免混合域代码和管道。是的,我们的模型需要日历和日期等的内存表示,但 商业 并不特别关心机器世界中这种情况是如何发生的细节。 换句话说,“将所有东西正确连接起来”与管理域模型中的信息如何变化是一个单独的问题。 因此,它可能遵循“单一责任原则”,我们希望“将所有东西连接起来”的代码在具有该责任的单个模块中隔离。 在其他条件相同的情况下,这可能表明我们的第一个猜测应该是将尽可能多的“连接所有东西”代码放入工厂方法中,并让域实体专注于域。 当您从持久信息存储加载聚合时,考虑一下您希望代码的样子可能会有所帮助。创建MealPlan看起来很像从数据库中加载MealPlan,主要区别在于您从“其他地方”获取信息。 |
Tony Raimo · 域实体是否应该调用存储库? 7 年前 |
Seb · DDD只读存储库返回“值对象” 7 年前 |
tlt · 使用嵌套对象和大集合进行聚合根优化 7 年前 |
PatrickSJ · DDD,状态对象/值对象 7 年前 |
msmani · DDD更改聚合根id 7 年前 |
DuskMcDusk · 逻辑和性能中的聚合根冲突 7 年前 |