〇、为什么现在是最适合DDD的时代
答案只有一个,就是AI。DDD的主要缺点在 AI 加持下变得微乎其微
缺点 | AI 时代的解决方案 |
---|---|
学习曲线陡峭 需要掌握复杂概念(如实体、聚合根、限界上下文),对新手不友好,需长期实践积累。 |
直接问AI,干中学 |
初期开发效率低 强调前期建模和设计,可能导致项目启动阶段进展缓慢,不适合快速迭代场景。 |
想要 AI 生成代码,也需要给AI指向明确的建模和设计文档。 |
复杂性管理难度大 限界上下文划分不当易导致模型碎片化,领域模型与数据库映射可能复杂。 |
前期通过 AI 辅助完成限界上下文的设计 |
依赖领域专家 需持续的业务方参与,若专家资源不足或沟通不畅,可能导致模型失真。 |
这个领域专家现在就是AI |
实施成本高 需团队具备高设计能力,投入时间建模和重构,工具和流程要求较高。 |
给定AI编写好的mdc文件,AI会帮你生成 |
代码量大 对比MVC一个类对象需要Command、领域对象、PO对象、Request 对象,如果CQRS还要有专门的DTO。 |
通过 mdc 文件让AI直接生成 |
本次需求的背景是
一、项目初始化
这里直接使用阿里的 DDD 框架 COLA
mvn archetype:generate \
-DgroupId=com.narwal.aftersale.web \
-DartifactId=ddd-after-sale \
-Dversion=1.0.0-SNAPSHOT \
-Dpackage=com.alibaba.demo \
-DarchetypeArtifactId=cola-framework-archetype-service\
-DarchetypeGroupId=com.alibaba.cola\
-DarchetypeVersion=5.0.0
二、建模和设计文档
Tips:在向 AI 说明需求之后,可以让AI复述一遍你的需求,看下AI理解的是否到位。
三、mdc 文件设置
四、开始实践
Tips:在AI真的开始写代码前,可以跟他说 “先不要写代码,跟我说说你的实现思路”。先看思路是否符合你的想法
评论区