kra-new/internal
Yvan 361a562f75 优化结构 2026-08-21 00:10:27 +08:00
..
modules 优化结构 2026-08-21 00:01:48 +08:00
README.md 优化结构 2026-08-21 00:01:48 +08:00

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 -> platformplatform 不得引用业务模块;业务 模块之间优先通过 biz 接口协作,不直接引用对方的 datatransport

新增模块时,在 internal/modules/<name> 内完成自己的分层,并在 internal/app/catalog.go 注册迁移、菜单/API、默认任务、任务实现和路由。组合根 是唯一允许同时知道多个模块具体类型的位置。