mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 17:21:16 +08:00
- 新增 CQRS 核心概念介绍,包括命令、查询、处理器和分发器 - 添加基本用法示例,展示命令和查询的定义与发送流程 - 实现高级功能文档,涵盖请求、通知、管道行为和流式处理 - 提供最佳实践指南,明确命令查询分离和验证行为使用方式 - 增加常见问题解答,解释 Command/Query 区别和错误处理方案 - 新增 CQRS 处理器自动注册实现,支持源码生成和反射扫描 - 添加单元测试验证处理器注册顺序和容错行为 - 更新项目 AI 代理说明文档,完善模块依赖关系图
19 lines
850 B
C#
19 lines
850 B
C#
namespace GFramework.Core.Abstractions.Cqrs;
|
||
|
||
/// <summary>
|
||
/// 声明程序集内可供运行时直接调用的 CQRS 处理器注册器类型。
|
||
/// </summary>
|
||
/// <remarks>
|
||
/// 该特性通常由源码生成器自动添加到消费端程序集。
|
||
/// 运行时读取到该特性后,会优先实例化对应的 <see cref="ICqrsHandlerRegistry" />,
|
||
/// 以常量时间获取处理器注册映射,而不是遍历程序集中的全部类型。
|
||
/// </remarks>
|
||
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
|
||
public sealed class CqrsHandlerRegistryAttribute(Type registryType) : Attribute
|
||
{
|
||
/// <summary>
|
||
/// 获取承载 CQRS 处理器注册逻辑的注册器类型。
|
||
/// </summary>
|
||
public Type RegistryType { get; } = registryType ?? throw new ArgumentNullException(nameof(registryType));
|
||
}
|