【实践篇】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包中不暴露内部枚举值定义,使用统一版本号需根据情况决定,防腐层对象的定义是值得的。
➡️

继续阅读