SuperAPI AI 工具集

business-logic-entry-point-cqs-handler-signatures

智能体与模型

查看项目

更新于 10-15 20:13

技能介绍

该技能用于在已采用命令查询分离(CQS)的项目中,统一业务逻辑入口点的签名形式,不替代 CQS 本身,只是在其之上补充命名与签名约定。

用途:当智能体需要创建、修改或审查遵循 CQS 的业务逻辑入口点时应用,确保命令处理器与查询处理器命名、参数和返回值保持一致。

主要能力: 命名规则:入口名由不定式动词加后缀组成,命令用 command handler,查询用 query handler,并按所用语言的语法与风格转换,例如 createReservationCommandHandler、findReservationByIdQueryHandler、create_reservation_command_handler。 参数规则:处理器必须恰好接受一个参数,命令命名为 command,查询命名为 query;即使只有一个输入值,也必须定义 ...Command 或 ...Query 类型作为该唯一参数。 成功返回规则:非创建命令处理器直接返回项目中的空等价物;创建命令处理器返回 ...CommandHandlerSuccess,仅含所创建领域实体的 ID;查询处理器返回 ...QueryHandlerSuccess。禁止直接返回原始元组、领域实体、DTO 或匿名对象。 查询支持过滤、分页与排序时:...Query 类型显式包含过滤子句列表、分页参数和排序子句列表;...QueryHandlerSuccess 类型包含领域实体集合与匹配总数,便于调用方计算总页数。过滤器以属性、比较运算符和值表示,排序子句含属性名与升降序方向,支持多属性排序。

使用方式:先确认入口点处于 CQS 之下并已明确是命令还是查询;再检查处理器名称、参数数量与名称、是否使用专用 ...Command 或 ...Query 类型、成功返回形状是否符合角色。编写或修改签名时先定名,再定义唯一输入类型与显式成功类型,保持与 CQS 语义一致。

适用场景:定义或修改 CQS 业务逻辑命令/查询处理器、直接传递原始输入值、直接返回原始领域数据、或命名缺少规定后缀的入口点。

限制:本技能以 CQS 为前提,不替代 CQS 规则本身;资料未提供具体语言绑定、安装方式、收费或性能信息。