Skip to content

API 速查索引 ​

本文档列出 Pragmatic DDD 所有对外暴露的核心接口与类,与源码逐一核对(版本 2.0.0)。 仅收录 public 类型;event/internal 等包内实现类不在收录范围(AbstractEventSubscriber 等用户需继承的基类除外)。

1. 领域建模(base) ​

类型名称说明
接口IEntity<T>实体标识契约,getEntityId()
接口IValueObject值对象标记
接口IParamObject参数对象标记
接口IEnumValue<T,K extends Enum<?>>枚举值对象,getValue() / getName() / getDesc()
接口IRule<T>规则的根契约,satisfiesRule(T)
接口IEntityPropertyCalculator<T,E,R>实体属性计算契约(继承 IDomainService)
抽象类AbstractEntity<T>实体基类:ID、软删、审计、equals/hashCode
抽象类AggregateRoot<T>聚合根基类:规则、版本、事件、操作追踪
抽象类ValueObject值对象基类:结构相等
类BrokenRuleObject被规则校验的对象封装
recordMessageCode规则违反消息码(localCode + description)
类BrokenRule规则违反明细
抽象类BrokenRuleRegistry消息注册表基类(反射自动注册)
类CompareAndSetInfo<V>乐观比较并设置辅助
异常PragmaticException框架异常基类
异常RuleException规则异常基类
异常BrokenRuleException单条规则违反异常
异常BrokenRuleAggregateException聚合规则违反异常

2. 业务规则引擎(rules) ​

类型名称说明
抽象类EntityRule<T extends AggregateRoot<?>>规则列表容器(实现 IRule<T> + IRuleBuild),继承并覆写 init()
接口ICheckRule<T>校验项契约,check(T, T) → RuleCheckResult
接口IRuleBuild规则构建标记
类RuleItem<T>规则项封装(rule + messageCode + condition)
枚举RulePosition插入位置(LAST / BEFORE / AFTER)
枚举ActiveStatus激活状态(ACTIVE / INACTIVE)
接口IActiveRuleCondition<T>激活条件(模型级 + code 级)
类AlwaysActiveRuleCondition<T>始终激活的默认条件
类RuleCheckResult校验结果

3. 领域服务(service) ​

类型名称说明
注解@DomainService领域服务声明注解(携带分类)
枚举DomainServiceCategory领域服务分类
接口IDomainService领域服务标记接口
接口ICheckRuleService<T>第二类:业务规则领域服务标记(同时是 ICheckRule<T> 子类型)
接口IEventSubscriberService<T extends IDomainEvent>第二类:事件订阅领域服务标记
接口IAttributeCalculatorService第三类:属性计算领域服务标记
接口ICapabilityProviderService第四类:能力提供领域服务标记

4. 领域事件(event) ​

类型名称说明
接口IDomainEvent事件契约
抽象类BaseDomainEvent不可变事件基类
类TriggeredEvents事件收集器(聚合根内部使用)
接口IEventManager事件管理器端口(spi)
接口IEventPublisher事件发布端口(spi)
接口IEventRegistry订阅者注册端口(spi)
接口IEventLifecycle生命周期端口(spi)
接口IEventSerializer事件序列化端口(spi)
接口IExecuteCondition<T>执行条件(spi)
接口ISubscriberOrderManager订阅者依赖顺序管理(spi)
接口ITopicResolverTopic 解析器(spi)
接口IEventMetrics事件指标(spi)
接口ISubscriber订阅者标记(spi)
接口IEventListener<T>事件监听器(spi,继承 ISubscriber)
接口IHandle<T>事件处理契约(spi)
枚举ExecuteStatus处理执行状态(spi)
枚举DeliveryPolicy投递策略(IMMEDIATE / DELAYED)
抽象类AbstractEventSubscriber<T>事件订阅者便捷基类(实现 IEventListener<T>)
类ConfigurableTopicResolver可配置 Topic 解析器默认实现
类ThreadPoolEventManager本地线程池事件管理器
recordLocalEventManagerConfig本地事件管理器配置
异常EventException事件异常基类
异常PublishEventException发布异常
异常RegisterDomainEventException注册异常

5. 应用服务(application) ​

类型名称说明
接口ICommandExecutor命令执行器契约 + tryExecute
接口IUnitOfWork工作单元契约(继承 AutoCloseable)+ tryCommit
抽象类AbstractCommandExecutor命令模板基类
抽象类AbstractUnitOfWork工作单元模板基类
类CommandExecutor默认命令执行器(同事务 save,提交后 publish)
类UnitOfWork默认工作单元(逐条 save → 统一 publishList)
抽象类AbstractApplicationService应用服务便捷基类
接口ICommandApplicationService命令服务标记
接口IQueryApplicationService查询服务标记
接口EntityFactory<T extends AggregateRoot<?>, C>实体工厂契约
接口EntityUpdater<T extends AggregateRoot<?>, C>实体更新器契约
recordDryRunResult试跑结果(passed + brokenRules)
接口IEntityPropertyResolver<C,E,R>实体属性解析器契约
类EntityPropertyResolvers属性解析器装配工具

6. 事务性发件箱(application.outbox) ​

类型名称说明
类OutboxCommandExecutorOutbox 命令执行器
类OutboxUnitOfWorkOutbox 工作单元
类EagerOutboxPublisher主动推送器(事务提交后触发)
类OutboxRelayOutbox 兜底轮询器
recordOutboxRelayConfigRelay 配置:(pollInterval, grace, batchSize, maxAttempts),默认 5min / 30s / 200 / 10,支持 outbox 前缀配置绑定
类OutboxMessageOutbox 消息行模型
recordOutboxEntry事件 + 消息条目
枚举OutboxStatusOutbox 状态(PENDING / PROCESSING / SENT / FAILED)
接口IOutboxStoreOutbox 存储 SPI(store / claim / markSent / release / claimPending / incrementAttempts / markFailed)
接口TransactionOperations最小事务抽象 SPI
接口TransactionCallback<T>事务回调

7. 仓储与查询投影(repository) ​

类型名称说明
接口IRepository<ID, T extends AggregateRoot<ID>>聚合仓储契约
抽象类AbstractRepository<ID, T extends AggregateRoot<ID>>仓储基类
接口IQueryApplicationService读侧应用服务标记(io.pragmatic.ddd.application 包)
接口IAggregateProjection聚合投影标记(仅聚合拓扑级投影实现)
接口IAggregateProjector<T, P>聚合投影器契约
抽象类AbstractAggregateProjector<T, P>投影器基类
接口IProjectionByIdSearcher<P>查询族:按主键 / 批量主键查
接口IOneQuerySearcher<P, C>查询族:按精确条件查(返回列表)
接口IListQuerySearcher<P, C>查询族:按精确条件查列表(含 TOP N)
接口IPagedQuerySearcher<P, C>查询族:分页 / 游标滚动
接口IReducer<S, X>裁剪器:全量投影 → 业务子投影
抽象类AbstractProjectionSource<T, ID, P>写读对账一体源基类(materialize / purge + readVersion / rebuild + 裁剪器持有 + sync 编排)
接口QueryCriteria / OneQueryCriteria / ListQueryCriteria / PageQueryCriteria条件族契约(query.criteria 子包)
recordPageRequest分页请求
recordPageResult<R>分页结果
recordScrollPosition游标位置
recordScrollResult<R>滚动结果

8. 读模型对账(repository.reconciliation) ​

类型名称说明
recordReconciliation对账任务描述
recordReplicaKey副本寻址键(聚合类型 + 副本标识),位于 repository 父包
接口IReadModelReplica<ID>副本自我维护契约(身份 / 版本读取 / 自我重建 / 残留清理),位于 repository 父包
枚举ReconciliationStatus对账状态
类Reconciler对账执行器
类ReconciliationManager对账管理器
类ReconciliationRegistry对账注册表
接口IReconcileDedup对账去重 SPI
类NoOpReconcileDedup空去重默认实现
异常ReconcileDuplicateReplicaException副本重复登记冲突
异常ReplicaNotFoundException副本未登记

9. 操作追踪(operation) ​

类型名称说明
接口IEntityOperation操作接口契约
类EntityOperation操作描述符(code + description,final)
抽象类OperationRegistry操作注册表基类(反射自动注册)
类TriggeredOperations因果操作持有者(单值)
异常OperationException操作异常
异常MultipleOperationsException一次工作单元记录多个不同因果操作(继承 OperationException)

10. 变更追踪(track) ​

类型名称说明
接口ITrackable<ID>可追踪对象契约(id())
类TrackedList<T extends ITrackable<ID>, ID>一对多 List 变更追踪(三桶:新增 / 修改 / 删除)
类TrackedMap<K, V>一对多 Map 变更追踪(三桶)

11. 防腐层与外部依赖(acl / dependency) ​

类型名称说明
抽象类AbstractQueryGateway<P,R,Q,S>查询套路基类(继承式)
抽象类AbstractWriteGateway<P,R,Q,S>写入套路基类(继承式)
抽象类AbstractIdempotentWriteGateway<P,R,Q,S,K>幂等写入套路基类(先查后写)
类ExternalCall组合式调用器(静态方法,final)
类AclExceptions异常包装辅助(final)
接口ExternalCallLogger<Q,S>外部调用日志钩子
注解@ExternalDependency外部依赖声明
接口IDependency依赖标记接口
枚举DependencyType依赖类型(AGGREGATE / EXTERNAL_SYSTEM)
异常AclExceptionACL 异常基类
异常AclConversionException转换异常(不可重试)
异常AclCommunicationException通信异常(可重试)

12. 配置体系(config) ​

类型名称说明
接口IConfigurationSource配置源(L1)
类MapConfigurationSource内存 Map 配置源实现
类ConfigurationBinder类型化绑定工具(L2)
抽象类AbstractConfiguration门面配置基类
接口IConfigurationContext配置上下文
类DefaultConfigurationContext默认配置上下文实现
接口IFeatureToggle特性开关(L3)
类MapFeatureToggle内存配置源特性开关实现
枚举ToggleState开关状态(OFF / ROLLOUT / ON)
接口IGrayStrategy灰度策略 SPI
类WhitelistGrayStrategy白名单灰度策略
类FeatureContext灰度上下文
异常ConfigurationBindingException配置绑定异常

13. 对外广播(broadcast) ​

类型名称说明
接口IBroadcastMessenger广播发送端口
抽象类AbstractBroadcastSubscriber<T,P>广播订阅者基类(实现 IHandle<T>)
抽象类AggregateMessageEnvelope<P>广播信封
类BroadcastExceptions广播异常包装工具(final)
异常BroadcastException广播异常基类
异常BroadcastEnvelopeException信封处理异常(不可重试)
异常BroadcastSendException发送失败异常(可重试)

14. 号段 ID(base.id) ​

类型名称说明
接口IIdGenerator<T>ID 生成器端口
接口IIdSegmentAllocator号段分配端口
抽象类AbstractSegmentIdGenerator<T>号段模式生成器基类(实现 IIdGenerator<T>)
类LongSegmentIdGeneratorLong 类型号段生成器
类StringSegmentIdGeneratorString 类型号段生成器
recordIdSegment号段(current / max / step)
类IdGeneratorRegistryID 生成器注册中心
类IdGeneratorDefinition生成器定义
枚举IdTypeID 类型(LONG / STRING)

15. MyBatis 集成(mybatis) ​

15.1 TypeHandler 装配 ​

类型名称说明
recordTypeHandlerContext统一装配上下文(registerInto(sqlSessionFactory))
类EnumTypeHandlerAutoConfigurer枚举通道自动装配(final)
类JsonTypeHandlerAutoConfigurerJSON 通道自动装配(final)
类ListTypeHandlerAutoConfigurer集合通道自动装配(final)

15.2 枚举通道 ​

类型名称说明
类UniversalEnumTypeHandler<E>通用枚举 TypeHandler
类EnumValueResolver枚举解析注册表(final)
枚举EnumRule枚举持久化策略(CODE / ORDINAL 等)
接口EnumCodec枚举编解码契约
类DefaultEnumCodec默认枚举编解码实现
接口EnumParseStrategy枚举解析策略

15.3 JSON 通道 ​

类型名称说明
类GenericJsonTypeHandler<T>通用 JSON TypeHandler
类Fastjson2JsonSerializerFastjson2 序列化实现(同时实现 JsonSerializer 与 IEventSerializer,final)
接口JsonSerializerJSON 序列化器 SPI
接口JdbcJsonValueJDBC 驱动适配
类PgJdbcJsonValuePostgreSQL 适配(final)

15.4 集合通道 ​

类型名称说明
类ListTypeHandler集合 TypeHandler
类CollectionElementTypeConfig集合配置中心(final)
类CollectionMapping集合映射声明(final)
接口ElementConverter元素转换契约
类SqlAliasSQL 别名(final)

15.5 基础设施实现 ​

类型名称说明
类MybatisOutboxStoreOutbox MyBatis 实现,构造 (OutboxMapper, TransactionOperations)
接口OutboxMapperOutbox Mapper(手动 addMapper 注册,XML 自动绑定,表名 outbox_message)
类DbSegmentAllocator号段 ID MyBatis 实现,构造 (SqlSessionFactory)
接口IdSegmentMapper号段 Mapper
类IdSegmentEntity号段行实体

16. RocketMQ 集成(rocketmq) ​

类型名称说明
类RocketMqConfig统一配置 POJO
类RocketMqConfigurationRocketMQ 装配配置(继承 AbstractConfiguration,final)
类RocketMqEventManagerRemoting 协议事件管理器
类RocketMqGrpcEventManagergRPC 协议事件管理器
类Fastjson2EventSerializerFastjson2 事件序列化实现
类RocketBroadcastMessengerRocketMQ 广播发送实现(实现 IBroadcastMessenger)