在 DDD 中,关键概念之一是存储库,它允许您检索实体(或聚合根),然后在更新后将它们保存回来。
假设我们需要对实体执行一些“批量”操作,并且实体的数量使得将它们检索到内存中是绝对不可能的。 IE。操作只能在数据库中进行。
这种“批量”操作的地方在哪里?它应该是存储库上的方法吗?它不会“泄漏”具有数据库特定操作的存储库抽象吗?它不会将业务操作从实体转移到存储库吗?
最佳答案
我认为它应该是一种服务。
Evans 在他的书中建议,当您怀疑是否将一个“不好闻”的方法放入一个类中,因为您认为它不属于那里时,请创建一个带有内部操作的 ServiceFoo 类。
关于domain-driven-design - 所有 "bulk"操作都属于 DDD 的什么地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/562117/