miniblog 简洁架构开发流程梳理

  1. 目录结构梳理及项目初始化
  2. 构建设置(通过 cobra 对项目进行构建配置)
    1. 项目 makefile,make-rules 文件搭建,需要包含基本构建,测试,清理构建物等基本功能
    2. 构建二进制需要注意添加版本号,可以在程序运行时有效捕捉到异常发生在代码的哪个版本,从而定位错误
  3. 配置文件(项目集成 viper 对配置文件读取并使用)
    1. 简洁架构中二进制的配置项放在 cmd/apiserver[二进制包]/app/options/options.go 中
    2. options.go 中需要至少包含这些功能:
      1. 配置文件的结构体
      2. 默认配置项
      3. 配置方式,配置方式需要支持命令行配置和配置文件配置两种方式,注意NewCommand的时候返回之前需要将选项绑定到命令标志,如:opts.AddFlags(cmd.PersistentFlags())
      4. 配置项校验功能
  4. 应用启动代码和业务代码需分离,后者变更比较频繁
    1. 类似项目构建,配置文件,日志配置之类的都需抽离到相关目录,因为这些基本在定下来之后基本不会变了
    2. 而业务代码,需要放在指定的pkg目录下,这些变更频繁
  5. 项目的版本号和日志打印功能
  6. http 服务器实现(by gin) & 中间件实现以及一些注意事项
  7. 优雅关停(http 服务和 grpc 服务的优雅关停,避免中断正在处理的请求或 db 数据不一致)
  8. 错误返回定制
  9. 通过简洁架构实现项目(handler -> biz -> store)
    1. store
      1. 创建数据库和数据库表;
      2. 根据数据库表生成 Model 文件;
      3. 修改生成的 Go 代码。
      4. gorm 钩子使用
      5. store 层的业务代码开发
    2. biz 层开发
    3. handler 开发并注册路由
    4. 身份认证和鉴权
    5. 单元测试编写
    6. 项目整体测试

miniblog 简洁架构开发流程梳理
https://yangfanbin.cn/代码笔记/miniblog 简洁架构开发流程梳理/
作者
Yang Fanbin
发布于
2025年11月9日
许可协议