mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 新增 CQRS 核心概念介绍,包括命令、查询、处理器和分发器 - 添加基本用法示例,展示命令和查询的定义与发送流程 - 实现高级功能文档,涵盖请求、通知、管道行为和流式处理 - 提供最佳实践指南,明确命令查询分离和验证行为使用方式 - 增加常见问题解答,解释 Command/Query 区别和错误处理方案 - 新增 CQRS 处理器自动注册实现,支持源码生成和反射扫描 - 添加单元测试验证处理器注册顺序和容错行为 - 更新项目 AI 代理说明文档,完善模块依赖关系图
21 lines
905 B
C#
21 lines
905 B
C#
using GFramework.Core.Abstractions.Logging;
|
|
|
|
namespace GFramework.Core.Abstractions.Cqrs;
|
|
|
|
/// <summary>
|
|
/// 定义由源码生成器产出的 CQRS 处理器注册器契约。
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// 运行时会优先调用实现该接口的程序集级注册器,以避免在冷启动阶段对整个程序集执行反射扫描。
|
|
/// 当目标程序集没有生成注册器,或生成注册器因兼容性原因不可用时,运行时仍会回退到反射扫描路径。
|
|
/// </remarks>
|
|
public interface ICqrsHandlerRegistry
|
|
{
|
|
/// <summary>
|
|
/// 将当前程序集中的 CQRS 处理器映射注册到目标服务集合。
|
|
/// </summary>
|
|
/// <param name="services">承载处理器映射的服务集合。</param>
|
|
/// <param name="logger">用于记录注册诊断信息的日志器。</param>
|
|
void Register(IServiceCollection services, ILogger logger);
|
|
}
|