go项目代码组织

$ tree -d -NL 2
.
├── application     // [必须]DDD - 应用层
├── cmd             // [必须]参考project-layout,存放CMD
│   ├── imgupload           // 命令行上传图片
│   └── imgupload_server    // 命令行启动Httpd服务
├── deployments     // 参考project-layout,服务部署相关
├── docs            // 参考project-layout,文档相关
├── domain          // [必须]DDD - 领域层
│   ├── entity      //  - 领域实体
│   ├── repository  //  - 领域仓储接口
│   ├── service     //  - 领域服务,多个实体的能力聚合
│   └── valobj      //  - 领域值对象
├── infrastructure  // [必须]DDD - 基础层
│   └── persistence //  - 数据库持久层
├── interfaces      // [必须]DDD - 接口层
│   └── api         //  - RESTful API接口对外暴露
├── pkg             // [可选]参考project-layout,项目包,还有internel等目录结构,依据服务实际情况考虑
└── tests           // [可选]参考project-layout,测试相关
    └── mock

参考链接

  1. https://tkstorm.com/posts-list/software-engineering/cloud-native/ddd-layer/#4-go%E8%AF%AD%E8%A8%80ddd%E5%88%86%E5%B1%82%E5%AE%9E%E8%B7%B5%E7%BA%B8%E4%B8%8A%E5%BE%97%E6%9D%A5%E7%BB%88%E8%A7%89%E6%B5%85

你可能感兴趣的:(go项目代码组织)