go项目代码组织
2022-08-26 本文已影响0人
leeliang
$ 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