知识卡片

领域实现建模:TDD从聚合履行的原子任务开始

普通读书笔记卡 · 1978.ao

内容

领域实现建模严格遵循TDD。方向上应首选由聚合履行职责的原子任务开始测试驱动开发。以”提名候选人”为例,先选”提名”原子任务,测试用例包括:提名前票状态必须为Available、提名后票状态改为WaitForConfirm、成功提名后为票生成历史记录。遵循简单设计原则与TDD三大支柱,每次只编写让当前测试通过的最小实现(第一个测试只验证票状态、就只考虑状态验证)。测试还会驱动出方法接口的演进:验证TicketHistory需要提名人信息,便引入Nominator类、把nominate(candidate)改为nominate(candidate, nominator)。发散:从聚合的原子任务起步、每次只满足一个测试,是让富领域行为逐步”长”出来而非一次设计定型的关键——接口签名本身也是被测试驱动出来的。

参考来源

- 位置:《解构领域驱动设计》第20章 20.3.4(源文件:_epub-src/OEBPS/033.xhtml) - 结论依据:原文说明TDD首选聚合原子任务、逐个测试用例推进、并由测试驱动出方法接口。 - 原始内容:根据测试驱动开发的方向,应首选由聚合履行职责的原子任务开始测试驱动开发。