用途:把阿里巴巴 COLA(Clean Object-Oriented and Layered Architecture,整洁面向对象分层架构)适配到 Python/Flask/FastAPI 后端项目,指导 DDD 分层架构设计、代码结构规范与应用架构重构。触发场景包括 Python DDD、Flask 架构、FastAPI 架构。
分层与职责:Adapter 接收外部请求,用 Flask Blueprint 或 FastAPI Router 实现;Application 负责用例编排,含 Service、CmdExe、QryExe;Domain 承载核心业务逻辑,含 Entity、ValueObject、Gateway 接口;Infrastructure 负责技术实现,含 Gateway 实现与 SQLAlchemy;Client 定义 DTO,含 Command、Query、CO。
目录结构:adapter/routes 放 Flask Blueprint;application 下分 command(_cmd_exe.py)、query(_qry_exe.py)、service(*_service.py);client/api 放 *_service_i.py(Protocol)、client/dto 下分 command、query、co;domain 按聚合放 entity.py、value_object.py,gateway 放 *_gateway.py(ABC);infrastructure 含 gateway_impl、convertor、repository/models.py;入口为 app.py。
命名规范:命令 _cmd、查询 _qry 位于 client/dto;命令执行器 _cmd_exe、查询执行器 _qry_exe 位于 application;客户端对象 _co;服务接口 _service_i;服务实现 _service;网关接口 _gateway;网关实现 _gateway_impl;转换器 _convertor。
核心原则:Domain 层不依赖任何层,保持纯 Python、无框架依赖;Infrastructure 实现 Domain 定义的 Gateway 接口;Client 层被所有层依赖。
用法与重构清单:创建 adapter/application/client/domain/infrastructure 包;定义 Response、Command、Query、CO 类;创建 CmdExe/QryExe 执行器和 Service;定义 Gateway 接口(ABC)及实现;创建 Convertor;迁移路由到 adapter/routes。代码模板参考 references 下 dto.md、service.md、gateway.md、example.md。
限制:现有资料未提供该技能的安装命令、运行方式、收费信息与兼容版本,这些内容暂未提供。