跳到主要内容

简介

GoDDD 是一款 AI 驱动的轻量化企业级 REST API 脚手架,专注于通过自然语言描述业务需求即可生成领域代码,把重复样板交给 AI,开发者只需专注业务逻辑。

设计目标

  • 提供适用于各种规模项目的整洁架构。
  • 通过模块化结构快速启动项目,聚焦业务开发。
  • 让项目更简单,让研发心情更好。
  • 降低学习曲线,无需精通 DDD 也能快速上手。

模块化单体架构

传统 MVC 单体架构会随着业务增长而变得臃肿,新成员难以理解。GoDDD 采用模块化单体架构:将完整业务拆分成多个领域模块,例如用户领域、银行领域、商品领域。每个领域都拥有独立的:

  • API:接口层,负责路由注册与请求响应。
  • Core:业务核心,包含领域模型与业务逻辑。
  • Store:缓存与持久化存储,通过依赖反转接口供 Core 使用。

不同开发者或团队可以独立处理这些领域模块,降低新功能带来的冲突与混乱。相比微服务,这样的模块更小、更简洁、更易于测试;当业务规模超出单体范畴时,也可以轻松将某个领域模块提取为微服务。

快速开始

  1. 确保 Golang 版本 >= 1.25.0(建议 Go 1.26)。
  2. 克隆项目:
    git clone github.com/ixugo/goddd && cd goddd
  3. 修改模块包名:
    make rename name=github.com/name/project
  4. 可选:安装开发环境工具:
    make init
  5. 编译并运行:
    go build -o server ./main.go && ./server
  6. 访问健康检查接口:
    curl http://localhost:8080/health

相关生态

  • godddx:AI 驱动的领域代码生成工具。
  • nsqite:事件总线与事务消息支持。

学习路径

建议按以下顺序阅读文档:

  1. 简介(当前页)
  2. 请求入参与响应出参封装
  3. 错误处理与日志脱敏
  4. 命名规范与团队标准
  5. 跨领域聚合模式

更多细节请参考 GitHub 仓库