所有"批量"操作都属于DDD?

ale*_*lex 10 abstraction domain-driven-design ddd-repositories

在DDD中,其中一个关键概念是Repository,它允许您检索实体(或聚合根),然后在更新后将其保存回来.

假设我们需要对实体执行一些"批量"操作,并且实体的数量使得绝对不可能将它们检索到内存中.即操作只能在数据库中执行.

这种"批量"运营的地方在哪里?它应该是存储库中的方法吗?它不会"泄漏"数据库特定操作的存储库抽象吗?它不会将业务运营从实体转移到存储库吗?

dth*_*her 6

您需要的是领域驱动设计中的服务。服务用于对过程任务进行建模。批量更新操作(如您所描述的那样)将是服务的理想候选者。


lur*_*rks 6

我认为这应该是一项服务.

埃文斯在他的书中建议,当你怀疑是否在一个类中放入一个"闻起来很糟糕"的方法因为你认为它不属于那个类时,请在里面运行一个ServiceFoo类.