用途:指导并评审基于 ddd4j 当前 io.ddd4j.core 公共契约的领域建模与框架无关代码。核心边界是 ddd4j-core 定义 DDD/CQRS/SPI,Spring、Guice、Quarkus、Javalin、MyBatis 等只在适配层组装。
主要能力:AggregateRoot<ID> 的 Active Record 与事件溯源两种模式;写侧 Command、CommandExecutor、CommandBus、Result<R>;读侧 Query<M>、PersistenceQueryScope<M,P>、Repository<M,ID>;DomainEvent<ID> 元数据、发布、重放与事件处理器;Contexts/ThreadContext、Subject、Cache 等框架无关 SPI。
使用方式:先确认维护线(1.0.x、2.0.x、3.0.x 的 API 名称不通用),再为每个聚合选定一种持久化模式且不可混用;聚合继承 AggregateRoot<ID>,变更留在聚合内,用 registerEvent 注册事件、@EventHandler 应用,事件子类保留无参构造;写路径定义 Command/CommandExecutor,读路径定义 Query<M>,领域只依赖 Repository SPI,由数据/运行时适配器注册实现;最后验证聚合不变量、事件重放、命令结果与上下文清理。
适用场景:建模或评审 ddd4j 聚合、实现 CQRS 读写侧、处理领域事件、判断依赖归属、解析上下文与缓存 SPI。
限制:模块边界与依赖方向用 ddd4j-architecture,注解语义用 ddd4j-annotation,Maven/BOM 用 ddd4j-bom,工具类用 ddd4j-kit,具体 ORM/消息/缓存配置用 ddd4j-data、ddd4j-mq、ddd4j-cache;非 ddd4j 项目不适用;io.hiwepy.boot 的 BaseEntity 等属旧契约。注意勿混用快照与未提交事件、勿在领域层引入 Spring/MyBatis 类型、ThreadContext 须在 finally 或作用域关闭时清理。本技能不访问、不收集、不存储、不传输任何用户数据、凭据或密钥。