用途:为 Go 项目提供 Clean Architecture 与标准布局的结构化规范,优先级标注为 P0(关键)。
主要原则:内层 Domain 不依赖任何外部;外层 Adapters 依赖内层。项目布局遵循标准 Go 结构(cmd、internal、pkg)。依赖通过构造函数注入,避免全局单例。按功能/领域而非按层组织包。接口定义在使用方(消费端)。
实施流程:1) 搭建布局,cmd/ 放入口,internal/ 放私有包,pkg/ 放共享库;2) 定义领域层,最内层零外部依赖;3) 构建用例,仅依赖 Domain 接口;4) 实现适配器,外层依赖 UseCase/Domain,含 HTTP handler、DB 仓储等;5) 在 main 中装配完整依赖图。
验证清单:无全局单例或包级可变变量;依赖经构造函数显式传入;接口定义在消费端;internal/domain 零外部依赖;依赖在 main.go 中完成装配。
反模式:不用全局单例,改用 DI;不违反分层,Domain 导入与适配器/基础设施层隔离;不写上帝服务,拆分为单一职责组件。
限制:资料未提供具体安装命令、代码示例细节、适用 Go 版本及收费信息。