fastapi-clean-architecture
使用 Clean Architecture 原则构建模块化 FastAPI 应用程序,包含领域驱动设计、依赖注入、Repository 模式及测试策略,适用于可扩展的 Python 后端服务。
简介
本技能为开发可维护、可测试且具备扩展性的 Python 后端服务提供了结构化的框架,并深度整合 FastAPI。它通过“三层架构”落实关注点分离:API 层负责 HTTP 路由与 DTO 验证;领域层 (Domain Layer) 处理纯粹的业务逻辑与实体定义;基础设施层 (Infrastructure Layer) 则负责外部整合与数据持久化。通过依赖注入 (DI) 与 Repository 模式,此技能确保业务逻辑能与特定的框架、数据库(如 PostgreSQL、Redis)或 API 服务解耦。
-
落实清晰的层级分离:API 层(控制器/结构)、领域层(实体/服务)、基础设施层(Repository/适配器)。
-
强制单向依赖流:API 依赖领域层,基础设施实现领域接口,领域层保持与框架无关。
-
提供领域驱动设计 (DDD) 模板,包含值对象、抽象 Repository 合约及自定义领域例外处理。
-
整合强大的测试策略,涵盖异步 Python 环境下的集成测试、单元测试与 Mock 测试。
-
促进使用 Pydantic 进行请求/响应 DTO 管理,以及 SQLAlchemy 进行数据库 ORM 操作。
-
最适用于启动大型企业级 FastAPI 项目,或将庞大的旧有代码重构为模块化的维护结构。
-
要求具备 Python 类型提示 (Type Hinting)、异步编程 (async/await) 及依赖注入原则的知识。
-
输入通常包括项目需求、数据模型与业务规则;输出则为组织严谨、符合生产环境规格的目录结构与模块化代码。
-
非常适合开发需要高度测试能力,并希望在不修改核心业务逻辑的情况下更换基础架构组件的系统。
-
限制:必须严格遵守领域独立性,领域层不得从 API 或基础设施层进行导入,以维护架构的完整性。
仓库统计
- Star 数
- 1
- Fork 数
- 0
- Open Issue 数
- 0
- 主要语言
- Python
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年5月3日 17:44