Go 工程化项目结构思考

共码了832个字
文内使用到的标签:

最近公司的项目需要进行一次新框架的搭建,由我和另外一位同事进行负责 @fanglina,在参考了多个优秀开源项目之后,想对此做出一部分总结。

参考项目:

先看一下大概的规划情况:

- /app 存放不同的应用项目
    - /admin 后台
    - /cron 定时脚本
    - /extend 第三方接口服务
- /bootstrap 初始化项目
- /common 公共包
    - /conf 配置文件方法
    - /hooks 回调方法
    - /postgresql 数据库连接、升级
    - /rabbitmq rabbitMQ 连接
    - /redis redis 连接
    - /util 工具
- /docs 项目文档
- conf.ini 配置文件
 main.go 项目入口

针对单个 app,例如 app/admin 项目为例,可以再细分:

- /config 项目配置文件,每个项目可以单独区分配置文件
- /const 公共常量
- /handler
- /http
    - /code 全局状态码、全局消息提示
    - /controller 控制器
    - /entities 结构体
    - route.go 路由
- /middleware Http 中间件
- /model
    - /script 存放 SQL 文件
- /sdk
- /service
    - /cache
    - /mq
        - /consume 消费者入口
        - /publish 生产者入口
- /third 其他方项目
- cmd.go 执行入口
Prev:
Next:

《 “Go 工程化项目结构思考” 》 有 2 条评论

  1. Siyang说道:

    也许可以用 tree 那种格式来排版,用MD的锁进其实过个几行就眼花了

  2. owl说道:

    不错,mark一下

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注