|
|
||
|---|---|---|
| .. | ||
| modules | ||
| README.md | ||
README.md
Internal Architecture
本项目采用参考 Kratos beer-shop 的模块化单体结构:先按业务边界垂直拆分,再在
模块内部保持 Kratos 的 service -> biz <- data 依赖方向。
internal/
app/ 应用组合根,只决定启用哪些模块
conf/ 运行配置
logging/ 公共日志基础设施
modules/
system/ 稳定的后台系统能力
biz/ 领域对象、用例、仓储接口
data/ PO、仓储实现、系统持久化
service/ DTO 与 DO 转换
transport/ HTTP handler、router、middleware
initialize/ system 首次安装编排
integration/ 外部服务适配器
worker/ system 后台任务
platform/ 不含业务语义的跨模块机制
database/
module/
task/
依赖方向:cmd -> app -> modules -> platform。platform 不得引用业务模块;业务
模块之间优先通过 biz 接口协作,不直接引用对方的 data 或 transport。
新增模块时,在 internal/modules/<name> 内完成自己的分层,并在
internal/app/catalog.go 注册迁移、菜单/API、默认任务、任务实现和路由。组合根
是唯一允许同时知道多个模块具体类型的位置。