SuperAPI AI 工具集

python-architecture

编程与开发

查看项目

更新于 10-16 06:45

技能介绍

用途:指导 Python 应用架构设计,采用函数式核心/命令式外壳模式、领域驱动设计(DDD)与类型安全数据建模,适合设计应用分层、将纯业务逻辑与副作用分离。

主要能力:

  1. 函数式核心/命令式外壳:核心为无 IO 的纯函数业务逻辑,外壳负责协调外部依赖与副作用。
  2. 分层架构:依赖自下而上流动,Router/Handler → Service → Repository → Entity → Database,每层只依赖其下层。
  3. 领域模型:实体(Entity)具有身份与封装行为,如 apply_discount 业务规则;值对象(Value Object)不可变、无身份,如 Money。
  4. 仓储模式:以抽象接口隐藏存储细节,返回领域实体,具体实现如 PostgresOrderRepository。
  5. 数据建模:dataclasses 用于领域模型与内部逻辑,Pydantic 用于 API 边界(校验、JSON schema、OpenAPI),实体转换方法包括 from_request()、to_response()、from_record()、to_record()。

最佳实践:纯函数优先;业务规则封装在实体内;仓储抽象隐藏存储细节;在边界处校验;值对象使用 frozen=True;单一职责;依赖抽象而非实现。

反模式:贫血领域模型、事务脚本、泄漏抽象、上帝对象、关注点混合(业务逻辑直接调用 IO)。

限制:资料未提供安装命令、具体版本要求、性能数据或收费信息;详细模式与决策树见 references/functional-core.md、references/ddd.md、references/data-modeling.md。