概述
DDD领域驱动设计可以很好的帮我们梳理业务,组织代码;但是网上各种概念解析,就是没有合理的代码落地方案,这里经过长时间的研究和实战,把我们的DDD如何落地的,代码如何组织的和大家一起分享一下,希望大家能够一起讨论、学习、进步。
代码分层说明
核心概念
代码树
ddd-demo-server
├── pom.xml
└── src
└── main
├── java
│ └── com
│ └── study
│ └── ddd
│ └── demo
│ ├── apis
│ │ ├── assembler
│ │ │ ├── GroupAssembler.java
│ │ │ └── PersonAssembler.java
│ │ └── DddDemoController.java
│ ├── application
│ │ ├── NetDiskFSApp.java
│ │ └── PersonApp.java
│ ├── DddDemoApplication.java
│ ├── domain
│ │ ├── common
│ │ │ └── CommonService.java
│ │ ├── entity
│ │ │ ├── GroupEntity.java
│ │ │ ├── mongo
│ │ │ │ └── UserFileEntity.java
│ │ │ └── person
│ │ │ ├── PersonBO.java
│ │ │ └── PersonEntity.java
│ │ ├── event
│ │ │ └── PersonAddEvent.java
│ │ ├── factory
│ │ │ └── PersonFactory.java
│ │ ├── service
│ │ │ ├── GroupService.java
│ │ │ ├── impl
│ │ │ │ ├── GroupServiceImpl.java
│ │ │ │ ├── NetDiskFSServiceImpl.java
│ │ │ │ └── PersonServiceImpl.java
│ │ │ ├── NetDiskFSService.java
│ │ │ └── PersonService.java
│ │ └── vo
│ │ └── GroupInfoVO.java
│ └── infrastructure
│ ├── config
│ │ └── WebMvcConfiguration.java
│ ├── constant
│ │ ├── FileTypeEnum.java
│ │ └── MongoConstant.java
│ ├── exception
│ │ ├── GlobalExceptionAdvice.java
│ │ └── NdFsExceptionCode.java
│ ├── interceptor
│ │ └── FeignHeaderInterceptor.java
│ ├── mapper
│ │ ├── GroupMapper.java
│ │ └── PersonMapper.java
│ └── utils
│ └── MongoHelper.java
└── resources
├── config
│ ├── dev
│ │ └── bootstrap.properties
│ ├── pro
│ │ └── bootstrap.properties
│ └── test
│ └── bootstrap.properties
├── log4j2.xml
└── mapper
├── GroupMapper.xml
└── PersonMapper.xml