用途:在设计或评审 DDD 仓储时提供指导。仓储为用例提供对聚合根的集合式访问,不应变成通用数据库 API。
主要工作流:识别仓储所拥有的聚合根;让方法契合聚合的检索与持久化需求;将复杂的读取或查询界面放入查询服务或读模型,而非命令仓储;在实现背后隐藏 ORM、SQL 与传输细节;显式定义乐观锁、事务与未找到行为。
规则:仓储返回聚合根,而非内部实体;仓储接口不应被领域对象使用;避免通用的 findByAnything 式膨胀;仅在表达稳定的领域查询概念时使用规格(Specification)。
详细参考:对于非平凡的实现、评审或重构工作,在给出最终指导前阅读 references/details.md,其中包含详细规则、示例、坏味道与迁移说明。
输出:返回仓储接口、方法理由、事务预期以及适配器职责。
限制:资料未提供具体代码示例、安装命令、价格或平台支持信息。