Ser*_*kiy -1 c# java tdd domain-driven-design
我是DDD(领域驱动设计)的新手,我喜欢它的很多想法.但是使用DDD,我需要花费大量时间分析域,定义实体和值对象,选择聚合并定义它们的边界等等.所以我想知道 - 它不是回归到BDUF(Big Design Up Front)吗?将DDD和敏捷放在一起有一些很好的经验吗?
不.
DDD说你要做什么设计 - 把你的领域模型放在核心,从那里派生出其余的东西(这并不意味着它需要完整).
敏捷说,何时进行设计 - 不断进化,而不是在开始编码之前完全正确地进行设计.
这完全没有矛盾.例如,将DDD与Scrum一起使用,您将选择可在30天内实施的最重要功能,确定该功能所需的域模型,并在30天内基于该模型实施该模型.然后,您可以选择现在具有最高优先级的功能,并且可以在30天内完成,扩展域模型以支持该功能,并实现它.