领域驱动设计-文档转换应用程序

本文关键字:文档 转换 应用程序 | 更新日期: 2023-09-27 18:23:53

我必须创建一个文档转换应用程序,该应用程序必须使用域驱动设计来完成。

基本上,我的应用程序将接收xml''csv(作为字符串输入)格式的数据,这些数据将使用xslt(作为字符串输出)转换为标准的xml、json或csv格式。

还有一些规则(存储在关系数据库中)在转换为xml或json格式后应用于数据。

最终接口可能是Rest API或Wcf应用程序。

但现在我很困惑,我应该如何使用领域驱动的设计来创建这个。

我的域模型是什么,这会包括存储在数据库中的规则吗?

我把核心格式转换逻辑放在哪里,放在服务层还是直接放在API或wcf服务类中?

谢谢!

领域驱动设计-文档转换应用程序

还可以更好地了解您要导入的文档类型。我认为文档可能是您的域实体之一。这样你就可以有

static Document createFromString(string inputText)

和非静态

void writeToSjon(filepath) 

方法。但要了解ddd或您的域模型,您确实应该与您的产品所有者交谈,了解您正在解决的问题。因为这就是你要做的模型。也许你建模的不是文档,而是一些狗粮杂货清单,它只是一个xml/csv输入。

还要查看您需要应用的规则。它们只是文本格式规则,还是针对特定犬种的过敏警告。DDD在很大程度上是为了降低沟通障碍,所以请与那些给你输入/期望你的应用程序输出的人交谈。

但现在我很困惑,我应该如何使用领域驱动的设计来创建这个?

你与一位领域专家聚在一起,定义领域的概念,定义并使用"无处不在的语言"。

什么将是我的领域模型[?]

这些模型应该来自您与领域专家进行的分析。在无处不在的语言中寻找名词和动词。它们将是构成模型的类和方法的起点。

这会包括存储在数据库中的规则吗?

这是一个实现细节。如果合适,请将规则存储在数据库中。如果没有,请编写封装规则的域服务。

我必须创建一个文档转换应用程序,它必须使用域驱动的设计来完成。

这句话让我担心。你可能需要考虑管理你的经理。使用适合作业的工具。