用途:约束业务逻辑入口点(命令处理器、查询处理器、用例、应用服务)对领域实体的创建、读取、更新、删除必须全部经由仓储完成,仓储以领域术语暴露操作并隐藏底层持久化技术。适用于关系库、文档库、键值库、对象存储等任意存储机制。
主要能力:识别入口点中直接使用 ORM 方法、查询构建器、原生 SQL、数据库客户端或框架持久化 API 的代码;检查是否导入持久化技术模块;验证每个领域实体或聚合根拥有独立仓储,且仓储方法签名使用领域实体类型与领域值类型,而非持久化层类型。仓储方法应遵循规范操作集:findBy<Field>(s)、findManyBy<Field>(s)、search、countBy<Field>(s)、existsBy<Field>(s)/existManyBy<Field>(s)、create、update、deleteById。
使用方式:先定位涉及领域实体持久化的入口点,再检查直接持久化调用与仓储使用情况,最后将 ORM 调用、查询链、原生查询替换为仓储方法调用,并移除入口点文件中的持久化技术导入。事务处理:当执行上下文技能启用时,仓储从执行上下文内部获取事务,不作为参数传入;未启用时显式传入事务上下文,使仓储参与同一事务。仓储不负责事务生命周期。
适用场景:代码创建、修改、审查或重构涉及领域实体持久化的业务逻辑入口点。
限制:事务管理在入口点层面属于独立关注点,仅在另一技能要求时允许与仓储并用;具体项目约定、仓储放置与命名需遵循项目既有规范。资料未提供安装命令、价格或平台信息。