什么时候应该一个人去DDD,什么时候被认为是矫枉过正?

时间:2014-09-10 14:55:48

标签: architecture domain-driven-design

我需要一些实用的示例/比较关于何时可以/应该使用DDD以及什么时候不能/不应该使用DDD?

1 个答案:

答案 0 :(得分:2)

像许多其他"好"编程实践DDD关注实现最大收益,以解决一些困难。根据我的知识和经验。

DDD(正如人们使用大多数原则和模式获得最大利益)可以在以下情况下应用:

  1. 支持大型复杂域模型是必要的,包含困难的业务规则和许多类。
  2. 开发人员在OOP和DDD方面都有足够的技能。此外,每个从事项目工作的人都必须了解模型,领域知识和领域语言的重要性。整个团队应该"搬到"更深入地了解领域并正确实施这些知识。
  3. 开发人员有足够的技术可以专注于模型的实施。
  4. 项目被认为是长寿的。
  5. 项目业主(或经理)还应了解合并DDD及其利益的额外费用。
  6. 项目使用OO作为主要的开发范例。
  7. DDD无效或无法应用于相反的情况。

    另外,DDD可能没用“

    1. 小型和低质量级项目(如原型)。
    2. 重要的"部分" DDD描述适用于整个系统的模式和原则" inside"。因此,它与分布式系统堆栈无关(我不是指像上下文映射和上下文绑定这样的模式,它为分布式系统组成另一个"部分")。因此,对于包含"简单单元应用程序的高分布式系统,应用此部分"部分" DDD没有意义(由于应用简单)。
    3. 请注意,某些DDD原则可以应用于任何项目。例如,反腐败级别适合与外部或遗留系统集成。