用途:这是一条用于约束业务逻辑入口点与仓储交互类型的编码规范技能,确保仓储方法签名只使用领域实体类型和领域值类型,使业务逻辑层与持久化技术细节解耦。
主要能力:适用于定义仓储接口或方法签名、定义仓储参数与返回类型、在入口点与仓储之间传递持久化技术类型的代码。规则要求参数为领域实体、领域值类型或具有领域含义的原始类型(如实体 ID);返回类型为领域实体、领域值类型或领域实体集合;不得使用 ORM 实体、数据库记录、行对象、文档模型、schema 生成类型等依赖持久化技术的类型;仓储内部负责领域类型与持久化类型之间的转换;不在入口点与仓储之间引入 DTO 等中间传输类型;领域实体不得携带 ORM 装饰器或数据库注解。
使用方式:先定位仓储接口与方法签名,逐项检查参数与返回类型是否仅含领域类型,检查入口点是否引用持久化类型、是否在入口点做类型映射,并清理中间 DTO。新增或修改签名时从领域模型出发,用领域类型表达仓储操作,在仓储实现内部完成读写转换,持久化技术导入只保留在实现中。
与执行上下文配合:当 business-logic-entry-point-execution-context 技能启用时,仓储方法签名不含事务参数,实现从执行上下文内部获取事务;事务为空时应创建独立事务。其余规则不变。
适用场景:需要保持业务逻辑层与持久化技术解耦、以领域驱动方式设计仓储接口的项目。
限制:具体实现细节、语言支持范围、工具集成方式在资料中暂未提供。