SuperAPI AI 工具集

Controller Builder

通用与其它

查看项目

更新于 10-15 23:44

技能介绍

用途:在 Python 项目中按清洁架构模式构建控制器类,为私有实现的用例提供干净的公共接口。资料显示其目录上下文为 epistemix_platform/src/epistemix_platform/,控制器位于 controllers/ 目录。

主要能力与原则:控制器是暴露公共方法的类,作为用例的接口层,不应包含业务逻辑,只负责编排对用例的调用。依赖通过 dataclass 定义容器(如 AuthDependencies、PaymentDependencies),用例以函数形式经 functools.partial 柯里化依赖后注入容器。需提供 create_default_controller 类方法作为工厂,构建并配置全部依赖。

架构角色:models/ 为纯数据容器并在模型层执行业务规则;use_cases/ 包含编排模型操作的应用逻辑;repositories/ 提供数据访问接口;controllers/ 注入依赖并暴露用例;mappers/ 负责层间数据转换。

实现要点:导入 functools 与 dataclasses.dataclass;定义带类型化可调用属性的依赖 dataclass;控制器 init 中将 _dependencies 初始化为 None;公共方法委托给依赖中的用例函数;为参数与返回值提供类型提示。

质量检查:确认所有用例均用 functools.partial 柯里化依赖、依赖容器为正确类型的 dataclass、公共方法命名反映业务目的、控制器内无业务逻辑、工厂方法正确实例化并配置依赖。

错误处理:依赖未正确初始化时抛出清晰异常,可在公共方法中校验 _dependencies 不为 None。需求不明确时应询问具体用例及其依赖,而非假设。

限制:资料未提供安装命令、收费、平台支持或具体使用步骤,暂未提供。