DDD to the Code Workshop 示例项目教程
项目介绍
ddd-to-the-code-workshop-sample
是一个用于 "DDD to the Code" 工作坊的示例项目。该项目旨在教育目的,不包含生产就绪的代码。特别地,以下方面没有考虑真实世界的应用:
- 共享代码在
ddd-to-the-code-workshop-support
中 - 内存数据库用于聚合的持久化
- 原型域事件基础设施实现(非持久订阅,无死信处理)
- 会计和租赁有界上下文中的低测试覆盖率
- 域事件之间的依赖关系处理缺失
项目快速启动
环境准备
确保你已经安装了 Java 运行环境。
启动步骤
-
克隆项目
git clone https://github.com/cstettler/ddd-to-the-code-workshop-sample.git
-
启动租赁有界上下文
java -jar ddd-to-the-code-workshop-rental/target/ddd-to-the-code-workshop-rental-0.0.1-SNAPSHOT.jar
-
启动会计有界上下文
java -jar ddd-to-the-code-workshop-accounting/target/ddd-to-the-code-workshop-accounting-0.0.1-SNAPSHOT.jar
-
初始状态
- 现有自行车列表(
http://localhost:8083/rental/bikes
):所有自行车可用 - 钱包列表(
http://localhost:8082/accounting/wallets
):无钱包存在 - 预订列表(
http://localhost:8083/rental/bookings
):无预订存在
- 现有自行车列表(
应用案例和最佳实践
注册新用户
-
启动用户注册
http://localhost:8081/user-registration/
-
输入用户句柄(例如 "peter")
-
点击 "Next >" 按钮
-
从验证码页面读取验证码
http://localhost:8083/rental/bikes
-
检查钱包列表
http://localhost:8082/accounting/wallets
最佳实践
- 在使用示例代码时,确保你理解代码并知道为什么使用它。
- 避免 Cargo Cult 实践,即盲目复制代码而不理解其背后的原理。
典型生态项目
相关项目
- ddd-to-the-code-workshop-support:共享代码库
- ddd-to-the-code-workshop-rental:租赁有界上下文
- ddd-to-the-code-workshop-accounting:会计有界上下文
生态系统
- GitHub Actions:自动化工作流程
- GitHub Packages:托管和管理包
- GitHub Security:查找和修复漏洞
通过这些模块的介绍和实践,你可以更好地理解和应用 ddd-to-the-code-workshop-sample
项目。