我必须创建一个文档转换应用程序,必须使用域驱动设计。
基本上我的应用程序将接收xml \ csv(作为字符串输入)格式的数据,该格式将使用xslt(作为字符串输出)转换为标准的xml,json或csv格式。
还有一些规则(存储在关系数据库中)在转换为xml或json格式后应用于数据。
结束接口可能是Rest API或Wcf应用程序。
但现在我很困惑,因为我应该如何使用域驱动设计来创建它。
我的域模型是什么,这包括存储在数据库中的规则吗?
我将核心格式转换逻辑放在服务层中还是直接放在API或wcf服务类中?
谢谢!
答案 0 :(得分:1)
还可以更好地了解您要导入的文档类型。我认为文档可能是您的域实体之一。这样你就可以拥有
static Document createFromString(string inputText)
和非静态到
void writeToSjon(filepath)
方法。但要了解ddd或您的域模型,您真的应该与您的产品负责人交谈,以了解您正在解决的问题。因为这就是你要建模的东西。也许这不是你正在建模的文件,而是一些dogfood购物清单,恰好是xml / csv输入。
另请查看您需要应用的规则。它们只是文本格式规则还是针对特定犬种的过敏警告。 DDD很大程度上是关于降低沟通障碍,所以请与那些给你输入/期望你的应用输出的人交谈。
答案 1 :(得分:0)
但现在我很困惑,因为我应该如何使用域驱动设计来创建它?
您与域专家聚在一起,定义域的概念,定义和使用“无所不在的语言”。
我的域名模型是什么[?]
模型应该来自您使用领域专家进行的分析。用无处不在的语言寻找名词和动词。它们将成为构成模型的类和方法的起点。
...这包括存储在数据库中的规则吗?
这是一个实现细节。如果合适,请将规则存储在数据库中。如果没有,请编写封装规则的域服务。
我必须创建一个文档转换应用程序,必须使用域驱动设计。
这句话让我很担心。您可能需要考虑管理您的经理。使用正确的工具完成工作。