知识卡片
复杂性藏在规则
内容
简单数据维护可以用CRUD完成,复杂业务的关键在规则、约束和状态变化。DDD适合金融、物流、资源流这类需要追踪完整性和安全性的系统,不适合只展示框架用法的演示程序。
参考来源
- 位置:《复杂软件设计之道》第1章《领域驱动设计基础》"1.4 领域驱动设计的应用场景"及"1.4.1 哪些应用不适合"两节(源文件:_chapter_text/ch01.txt)
- 结论依据:原文明确"金融、财务等系统是非常适合应用DDD的。DDD不但用于跟踪资金流,还能用于跟踪物流、资源流等随着时间变化的复杂应用场景",并与"传统的CRUD系统不适合使用DDD……演示系统或教学案例系统也不适合使用DDD"形成对照,说明DDD价值取决于业务规则和状态变化的复杂度而非表面数据操作。
- 原始内容:通过DDD划分边界,突出聚合,保证数据一致性和完整性……因此,金融、财务等系统是非常适合应用DDD的。DDD不但用于跟踪资金流,还能用于跟踪物流、资源流等随着时间变化的复杂应用场景……首先,传统的CRUD系统不适合使用DDD……其次,演示系统或教学案例系统也不适合使用DDD。