【问题标题】:Domain driven design - Document conversion application [closed]领域驱动设计 - 文档转换应用程序 [关闭]
【发布时间】:2015-12-02 17:18:50
【问题描述】:

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

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

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

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

但现在我很困惑我应该如何使用域驱动设计来创建它。

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

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

谢谢!

【问题讨论】:

  • 为什么要求 DDD?也许可以问问提出这个要求的人他对它有什么期望。
  • 阅读有关 DDD 的内容,您就会明白为什么您的问题毫无意义。
  • 虽然 DDD 很棒,但你应该记住,DDD 并不是万能的,实际上我什至听说根据你正在开发的应用程序类型,也不推荐 DDD ,因为它可能会以不应该的方式使其复杂化。假设这是一个学校或研究项目,这就是为什么它是一个要求,请按照@Batavia 的回答,并阅读有关 DDD 的信息。否则,您最终可能会为小型应用程序构建过于复杂的东西。如果您了解有关 DDD 的最低要求,您将能够争论他们为什么需要它。
  • 谢谢大家的回复。

标签: c# design-patterns architecture domain-driven-design


【解决方案1】:

还可以进一步了解您要导入的文档类型。我认为 document 可能是您的域实体之一。这样你就可以拥有一个

static Document createFromString(string inputText)

和一个非静态的到

void writeToSjon(filepath) 

方法。但是要了解 ddd 或您的域模型,您确实应该与您的产品负责人交谈以了解您正在解决什么问题。因为这就是你要建模的。也许你正在建模的不是文档,而是一些 dogfood 杂货清单,恰好是一个 xml/csv 输入。

还要查看您需要应用的规则。它们只是文本格式规则,还是针对特定犬种的过敏警告。 DDD 非常注重降低沟通障碍,因此请与为您提供输入/期望应用输出的人交谈。

【讨论】:

    【解决方案2】:

    但是现在我很困惑我应该如何使用域驱动设计来创建它?

    您与领域专家一起定义领域的概念,定义和使用“无处不在的语言”。

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

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

    ...这是否包括存储在数据库中的规则?

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

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

    这句话与我有关。您可能需要考虑管理您的经理。为工作使用正确的工具。

    【讨论】:

      猜你喜欢
      • 2023-01-29
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      相关资源
      最近更新 更多