Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/janyork/ddd-tmp
领域驱动设计+六边形架构+CQRS的示例,这是一个DDD DEMO,包含详细的中文注释和包说明。
https://github.com/janyork/ddd-tmp
Last synced: 21 days ago
JSON representation
领域驱动设计+六边形架构+CQRS的示例,这是一个DDD DEMO,包含详细的中文注释和包说明。
- Host: GitHub
- URL: https://github.com/janyork/ddd-tmp
- Owner: JanYork
- License: apache-2.0
- Created: 2024-02-06T10:37:58.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-02-06T11:14:47.000Z (11 months ago)
- Last Synced: 2024-02-07T13:07:29.546Z (11 months ago)
- Language: Java
- Homepage:
- Size: 66.4 KB
- Stars: 12
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 说明
`ddd-tmp`是一个用于演示领域驱动设计架构的项目。
在阅读这个项目之前,你需要先了解领域驱动设计的基本概念,包括聚合、实体、值对象等。
我推荐你阅读一些资料来了解领域驱动设计:
- 《实现领域驱动设计》
- 《解构领域驱动设计》
- 《复杂软件设计之道:领域驱动设计全面解析与实战》
- 《领域驱动设计:软件核心复杂性应对之道》
- 《领域驱动设计模式、原理与实践》
- 《深入浅出DDD》(掘金小册)
- 《架构整洁之道》推荐了解完这些资料后再来阅读这个项目,同时你还需要了解一些知识:
- Event Sourcing(事件溯源)
- CQRS(命令查询职责分离)
- Event Storming(事件风暴)
- Event Driven Architecture(事件驱动架构)
- Dependency Inversion Principle(依赖倒置原则)## 运行
导入`db`文件夹中的`db.sql`数据库文件,然后修改`user-start`中的`application-yml`文件中的数据库连接配置。
然后运行`UserAppStart`即可。
## 结构
```
├── LICENSE
├── README.md
├── db 数据库文件
├── pom.xml
├── user-api 用户API抽象模块
├── user-application 用户应用模块
├── user-common 用户公共模块
├── user-domain 用户领域模块
├── user-infrastructure 用户基础设施模块
├── user-interaction 用户交互模块
├── user-rpc 用户RPC抽象模块
└── user-start 用户项目启动模块
```## 阅读
在每个包中存在一份`package-info.java`,其中对当前包结构有说明。