用途:依据 DDD 原则检查仓储(Repository)设计,在代码评审、新实现与重构中识别设计问题。
主要能力: 命名规则:仓储名必须是「集约名 + Repository」,如 OrderRepository、UserRepository;含 Table、Dto、Entity、Record、Row 等基础设施用词即视为违规。 CQS(命令查询分离):每个方法要么是查询(返回集约、无副作用),要么是命令(接收集约、返回 void 并改变状态)。 单件与多件 I/O:单件如 findById(id): Order?、store(order);多件如 findByIds(ids): List<Order>、storeMulti(orders): Int。 同步/异步与错误处理:可选同步(异常或 Result/Either)与异步(Future 或 async/await + Result)模式,错误处理细节参考 error-handling 技能。
反模式检测:findById 返回 DTO、表行或实体片段而非集约;方法名含领域逻辑(如 leave、activate、cancel、approve、rename)或 DB 操作用词(insert、update、select、upsert);store 接收 DTO、返回记录或 ID;仓储实现内调用其他仓储(集约间协调应放在用例层)。
检查步骤:定位仓储接口/特征;确认命名为集约名 + Repository;确认各方法符合 CQS;确认输入输出类型为集约;违规时给出具体修改建议。
适用场景:DDD 项目的仓储设计评审、新功能实现与重构。
限制:资料未提供具体支持语言清单、安装方式与许可信息,暂未提供;相关技能建议併读 repository-placement、aggregate-design、error-handling。