【实践篇】DDD脚手架及编码规范
💡
原文中文,约3800字,阅读约需9分钟。
📝
内容提要
本文介绍了DDD脚手架项目的背景和理论基础,以及脚手架的使用和应用。文章还总结了脚手架编码规范,并解答了常见问题。
🎯
关键要点
- 团队推进业务系统的体系化治理,沉淀DDD脚手架项目。
- 脚手架项目统一规范新建项目,指导老项目进行DDD改造。
- DDD相关应用架构包括四层架构、洋葱架构等,核心思想是分层实现功能和关注点隔离。
- 整洁架构分为四层:Frameworks&Drivers、Interface Adapters、Application Business Rules、Enterprise Business Rules。
- 使用命令生成DDD脚手架项目结构,包含适配器层、应用协议层、启动层、应用层、领域层等。
- Api模块编码规范要求只包含接口定义,入参使用类而非原子类型,出入参类以DTO结尾。
- Adapter/Controller模块只进行参数转换,不包含业务逻辑,返回值缓存逻辑可在此实现。
- App模块类以Case结尾,负责底层业务逻辑编排,支持跨域服务调用和事务处理。
- Domain层编码规范要求DomainService以Service结尾,Entity类不需后缀,业务逻辑优先放在Entity和VO中。
- Repository实现类需将DO对象转换为PO对象,Repository与聚合一对一关系。
- 常见问题包括Api模块是否引用其他应用jar包、Api包中是否能包含枚举类、数据存储是否使用统一版本号等。
- 建议在Api包中不暴露内部枚举值定义,使用统一版本号需根据情况决定,防腐层对象的定义是值得的。
➡️