代码分层为如图(仓库地址ddd-demo: DDD 领域驱动设计示例项目,源于阿里COLA)
第一层start,为服务启动,springboot启动类
第二层为controller,有的也称为adapter,完成前端参数接收,转换
第三层client层,仅仅定义了接口和CQRS的bean定义,并且规范和暴漏下一层(应用层)
第四层app(应用)层,继承了clinent的接口,并实现,相当于mvc的service
并且完成数据校验
调用domain层的接口
第五层domain层,定义gateway接口(不是网关,是对实体增删改查的接口),并实现实体计算逻辑,相当于ddd的实体,domainservice
第六层infrastructure(基础设施层),实现gateway(增删改查),负责落库,发送事件