DDD是BDUF的倒退吗?

Ser*_*kiy -1 c# java tdd domain-driven-design

我是DDD(领域驱动设计)的新手,我喜欢它的很多想法.但是使用DDD,我需要花费大量时间分析域,定义实体和值对象,选择聚合并定义它们的边界等等.所以我想知道 - 它不是回归到BDUF(Big Design Up Front)吗?将DDD和敏捷放在一起有一些很好的经验吗?

Mic*_*rdt 7

不.

DDD说要做什么设计 - 把你的领域模型放在核心,从那里派生出其余的东西(这并不意味着它需要完整).

敏捷说,何时进行设计 - 不断进化,而不是在开始编码之前完全正确地进行设计.

这完全没有矛盾.例如,将DDD与Scrum一起使用,您将选择可在30天内实施的最重要功能,确定该功能所需的域模型,并在30天内基于该模型实施该模型.然后,您可以选择现在具有最高优先级的功能,并且可以在30天内完成,扩展域模型以支持该功能,并实现它.

  • @lazyberezovsky:"整个系统的粗略设计"是*除了*BDUF之外的任何东西.在其介绍中,该书说:"该示例将逐步介绍一系列模型和设计改进,作为假设团队处理需求和实现问题 - 听起来像是敏捷开发的教科书示例. (3认同)