Validation 域驱动设计中的文件导入验证

Validation 域驱动设计中的文件导入验证,validation,domain-driven-design,Validation,Domain Driven Design,我正在开发一个应用程序,并尝试使用DDD方法。我对域中的所有实体和聚合进行建模。现在我想在域中保留我的验证逻辑,但我需要支持一些批量导入功能(通过csv文件)。我需要验证文件,并向用户提供有关需要更正的行的信息 DDD最好的方法是什么?验证逻辑相当复杂,我不想在域中重复csv文件验证。此外,文件结构是一种更扁平的结构,不同于域聚合。因此,即使我验证了聚合,行信息也会丢失 DDD最好的方法是什么?验证逻辑相当复杂,我不想在域中重复csv文件验证 要完成这种性质的事情,您可以使用传奇或流程管理器。它

我正在开发一个应用程序,并尝试使用DDD方法。我对域中的所有实体和聚合进行建模。现在我想在域中保留我的验证逻辑,但我需要支持一些批量导入功能(通过csv文件)。我需要验证文件,并向用户提供有关需要更正的行的信息

DDD最好的方法是什么?验证逻辑相当复杂,我不想在域中重复csv文件验证。此外,文件结构是一种更扁平的结构,不同于域聚合。因此,即使我验证了聚合,行信息也会丢失

DDD最好的方法是什么?验证逻辑相当复杂,我不想在域中重复csv文件验证

要完成这种性质的事情,您可以使用传奇或流程管理器。它将保持您在文件中的位置,并向您的聚合发出命令以执行文件导入。如果命令失败或被拒绝,则可以使用域生成的错误消息更新相应的行

此外,文件结构是一种更扁平的结构,不同于域聚合。因此,即使我验证了聚合,行信息也会丢失

如果需要,您可以在文件中对记录进行分组,但是saga应该维护行号和相应命令的记录。您可以选择将文件本身建模为一个聚合,这也将带来好处。省略这样的领域概念将使将来的事情变得更加困难,但将它们添加到设计中会以时间为代价


如果您能解释的话,我可以提供更多的细节:您是否使用DDD、CQR、ES、队列、异步等?正如@dnmyar所解释的,您还可以帮助解释您在哪里面临实际困难

我不太清楚这个问题。如果您对一个原始数据进行了验证,那么是什么阻止您将逻辑应用于列表?