简介
GoDDD 是一款 AI 驱动的轻量化企业级 REST API 脚手架,专注于通过自然语言描述业务需求即可生成领域代码,把重复样板交给 AI,开发者只需专注业务逻辑。
设计目标
- 提供适用于各种规模项目的整洁架构。
- 通过模块化结构快速启动项目,聚焦业务开发。
- 让项目更简单,让研发心情更好。
- 降低学习曲线,无需精通 DDD 也能快速上手。
模块化单体架构
传统 MVC 单体架构会随着业务增长而变得臃肿,新成员难以理解。GoDDD 采用模块化单体架构:将完整业务拆分成多个领域模块,例如用户领域、银行领域、商品领域。每个领域都拥有独立的:
- API:接口层,负责路由注册与请求响应。
- Core:业务核心,包含领域模型与业务逻辑。
- Store:缓存与持久化存储,通过依赖反转接口供 Core 使用。
不同开发者或团队可以独立处理这些领域模块,降低新功能带来的冲突与混乱。相比微服务,这样的模块更小、更简洁、更易于测试;当业务规模超出单体范畴时,也可以轻松将某个领域模块提取为微服务。
快速开始
- 确保 Golang 版本 >= 1.25.0(建议 Go 1.26)。
- 克隆项目:
git clone github.com/ixugo/goddd && cd goddd
- 修改模块包名:
make rename name=github.com/name/project
- 可选:安装开发环境工具:
make init
- 编译并运行:
go build -o server ./main.go && ./server
- 访问健康检查接口:
curl http://localhost:8080/health
相关生态
学习路径
建议按以下顺序阅读文档:
- 简介(当前页)
- 请求入参与响应出参封装
- 错误处理与日志脱敏
- 命名规范与团队标准
- 跨领域聚合模式
更多细节请参考 GitHub 仓库。