DDD是BDUF的倒退吗?

时间:2011-04-27 14:10:16

标签: c# java tdd domain-driven-design

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

1 个答案:

答案 0 :(得分:7)

嗯......不。

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

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

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