精心打造一款 Go 语言 Gin 框架 DDD 脚手架,适合指导 AI 快速搭建项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
jarryli
V2EX    Go 编程语言

精心打造一款 Go 语言 Gin 框架 DDD 脚手架,适合指导 AI 快速搭建项目

  •  
  •   jarryli 3 小时 40 分钟前 392 次点击

    如何指导 AI 编程非常重要,我们需要给 AI 提供范本,这样 AI 生成的代码才是我们想要的。

    一个开箱即用的 DDD (领域驱动设计) Go 脚手架,基于 Gin + RocketMQ ,包含双数据库、统一响应、中间件与事件驱动示例。

    这是什么

    Gin-Framework-DDD 是一个面向 Go 语言的 DDD 工程脚手架,帮你快速搭建符合 DDD 分层规范的 Web 服务。项目内置用户与订单示例、领域事件与 RocketMQ 生产/消费、邮件通知示例、统一响应与中间件,适合作为团队工程模板。

    功能与 practice-projects/gin-mvc对齐,可以对比下DDDMVC工程目录结构的差异。

    为什么要用 DDD ?

    很多人认为 Go 语言没必要用 DDD ,毕竟它和 Python 、JS 一样轻巧灵活,用 MVC 就足够了。确实,大多数场景下 MVC 完全够用。工程化无非是把接口处理、业务逻辑、数据处理区分开,让各部分各司其职,方便维护和扩展。DDD 相对更适合中大型项目:如果项目有几十个模块、上百个接口,用 DDD 设计会更合适;模块少、接口不多的话,简单分层就够了。

    总之,是否采用 DDD 和语言无关,只跟业务规模有关。一个东西变复杂了,就需要用一些机制去规范它,才能更好掌控。

    源码地址:https://github.com/microwind/design-patterns/tree/main/practice-projects/gin-ddd

    项目目录:gin-ddd/

    核心特点

    • 严格 DDD 四层架构:领域层、应用层、基础设施层、接口层
    • Gin Web 框架:高性能 HTTP 服务
    • 事件驱动:领域事件 + RocketMQ 生产者/消费者
    • 双数据库支持:用户库 + 订单库可独立配置(默认 MySQL + PostgreSQL )
    • 统一响应格式:Response 封装,错误码集中管理
    • 全局中间件:日志、恢复、跨域
    • 可选邮件通知:订单创建事件驱动 SMTP 邮件发送

    技术栈

    技术 版本 说明
    Go 1.21+ 语言版本
    Gin 1.9+ HTTP 框架
    RocketMQ 5.3+ 事件消息队列
    MySQL 8.0+ 用户库默认
    PostgreSQL 14+ 订单库默认
    YAML - 配置文件格式

    更多架手架: https://github.com/microwind/design-patterns

    3 条回复    2026-04-07 13:56:08 +08:00
    crime1024
        1
    crime1024  
       3 小时 38 分钟前
    好重度,有轻量的吗
    jarryli
        2
    jarryli  
    OP
       3 小时 27 分钟前
    @crime1024 由的。MVC 轻量些,各种随你挑,作为 AI 的范本,我自己就这么用的。
    Gin 框架:
    https://github.com/microwind/design-patterns/tree/main/practice-projects/gin-mvc
    各种语言:
    https://github.com/microwind/design-patterns/tree/main/mvx/mvc
    beidounanxizi
        3
    beidounanxizi  
       1 小时 17 分钟前 via Android
    javaer 程序员最爱的设计模式
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5493 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 07:14 PVG 15:14 LAX 00:14 JFK 03:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86