在DDD中,代码模型必须与分析模型有多少相似度?

问题描述 投票:0回答:1

在有关 DDD 的书籍中,有很多强调使代码模型和分析模型相同(或相关)。我目前正在阅读领域驱动设计的模式、原则和实践,这里有一些引述:

...代码模型和分析模型合二为一,并且发生了变化 一个会导致另一个发生变化。

领域专家和业务分析师了解代码模型并帮助塑造它。

使用[无处不在的]语言来驱动代码的设计。

我觉得这有点令人困惑,因为有时代码中的模型可能与分析模型有很大不同。有诸如设计模式和软件架构之类的东西。如果这些都可以使用,是否意味着业务分析师也必须了解它?

在代码中,开发人员专注于技术抽象, 设计模式和设计原则,而领域专家则专注于业务流程 和工作流程。这是有问题的。开发人员应该考虑领域术语和概念,而不是技术术语,以避免将业务术语翻译成技术术语。

这似乎建议完全避免设计模式并根据团队内商定的模型进行编码。如果分析模型在代码中实现时性能不佳怎么办?

代码模型必须与分析模型有多相似?

design-patterns architecture domain-driven-design model-driven-development
1个回答
0
投票

这似乎建议完全避免设计模式并根据团队内商定的模型进行编码

不,这不是本意。他们强调使用领域术语。例如,ProductFactory是错误的,而ProductCreator是正确的。在领域模型中使用模式名称会泄露技术方面的信息。只需为对象使用自然的名称,以便领域专家可以理解它们。选择正确的名称很困难,因为命名是软件开发中最困难的事情之一,当您对其进行更多限制时,它会变得更加困难。

© www.soinside.com 2019 - 2024. All rights reserved.