1240 Commits

Author SHA1 Message Date
GeWuYou
005c32d84f feat(cqrs): 添加CQRS扩展方法兼容层和日志工厂解析器
- 新增ContextAwareMediatorCommandExtensions提供命令扩展方法兼容性支持
- 新增ContextAwareMediatorQueryExtensions提供查询扩展方法兼容性支持
- 添加LoggerFactoryResolver实现全局日志工厂访问入口
- 实现TypeForwarders将核心类型转发到正确程序集
- 添加MediatorCompatibilityDeprecationTests验证弃用策略
- 扩展LoggerFactoryTests覆盖并发初始化和回退逻辑
- 迁移CommandBase到Core.Cqrs.Command命名空间
- 移动LoggingBehavior到GFramework.Cqrs.Cqrs.Behaviors
- 添加AbstractStreamQueryHandler支持流式查询处理
- 创建NotificationBase提供通知基类实现
2026-04-15 22:27:09 +08:00
GeWuYou
18337c5995 refactor(tests): 移除未使用的 System.Diagnostics 引用
- 从 GlobalUsings.cs 中删除未使用的 System.Diagnostics 全局引用
- 保持测试项目的全局引用列表整洁
- 减少不必要的命名空间导入
2026-04-15 21:54:29 +08:00
GeWuYou
1c7558aeb8 refactor(cqrs): 移除旧日志行为并添加CQRS运行时模块
- 删除 LoggingBehavior 类及其相关实现
- 新增 CqrsRuntimeModule 用于注册CQRS运行时组件
- 添加 ArchitectureComponentRegistryBehaviorTests 测试组件注册行为
- 添加 ArchitectureContextTests 测试架构上下文功能
- 完善CQRS运行时的并发安全性和生命周期管理
2026-04-15 21:41:59 +08:00
GeWuYou
e36c80229a feat(cqrs): 添加CQRS处理器基类和测试运行时支持
- 引入AbstractCommandHandler、AbstractQueryHandler等各类处理器基类
- 实现CqrsContextAwareHandlerBase提供上下文感知功能
- 添加CqrsTestRuntime为测试项目提供CQRS运行时访问入口
- 创建AbstractCqrsHandlerContextTests验证上下文注入行为
- 支持命令、查询、通知及流式处理的各种抽象基类实现
2026-04-15 20:34:08 +08:00
GeWuYou
a80ff59631 feat(cqrs): 添加CQRS运行时模块和兼容性扩展
- 新增ContextAwareMediatorCommandExtensions提供命令扩展方法的兼容性别名
- 新增ContextAwareMediatorExtensions提供CQRS统一接口扩展方法的兼容性别名
- 新增ContextAwareMediatorQueryExtensions提供查询扩展方法的兼容性别名
- 添加CqrsRuntimeModule用于注册CQRS运行时和处理器注册器到依赖注入容器
- 更新IArchitectureContext接口添加新版CQRS请求、命令、查询和通知的统一入口
- 添加架构上下文的CQRS处理器注册相关单元测试
- 配置项目文件以支持多目标框架和包引用管理
2026-04-15 19:42:08 +08:00
gewuyou
f7b4ae9995
Merge pull request #224 from GeWuYou/refactor/cqrs-architecture-decoupling-todo-5
Refactor/cqrs architecture decoupling todo 5
2026-04-15 19:18:13 +08:00
GeWuYou
d881bd5ad1 refactor(cqrs): 简化接口定义并分离流式命令和查询接口
- 移除 ICommand<TResponse> 和 ICommand 的空实现体
- 移除 IQuery<TResponse> 和 IStreamQuery<TResponse> 的空实现体
- 移除 INotification、IRequest<TResponse>、IStreamRequest<TResponse> 的空实现体
- 将 IStreamCommand<TResponse> 分离到独立文件中
- 将 IStreamQuery<TResponse> 分离到独立文件中
- 保持所有接口的核心功能不变,仅简化语法结构
2026-04-15 19:02:53 +08:00
GeWuYou
fe73d13991 chore(tests): 添加Cqrs抽象依赖到架构测试
- 在ArchitectureContextTests中添加GFramework.Cqrs.Abstractions.Cqrs命名空间引用
2026-04-15 18:55:41 +08:00
GeWuYou
a068a5e707 test(arch): 优化架构上下文并发测试的超时配置
- 将工作线程数量从16调整为8
- 添加工作线程启动超时设置为5秒
- 添加首次解析超时设置为5秒
- 使用可配置超时替代硬编码的1秒等待时间
- 提高测试稳定性和可读性
2026-04-15 18:52:53 +08:00
GeWuYou
2425d28097 refactor(tests): 更新测试文件以支持Cqrs功能
- 在ArchitectureContextTests.cs中添加GFramework.Cqrs.Abstractions.Cqrs命名空间引用
- 在MicrosoftDiContainerTests.cs中添加GFramework.Cqrs.Abstractions.Cqrs命名空间引用
- 为测试文件提供必要的Cqrs相关依赖注入支持
2026-04-15 17:49:52 +08:00
GeWuYou
82e6332a9b test(core): 添加架构上下文和依赖注入容器的单元测试
- 实现 ArchitectureContext 类的全面单元测试,覆盖构造函数、查询命令事件发送等功能
- 添加 MicrosoftDiContainer 依赖注入容器的完整测试,包括注册、获取、冻结等操作
- 创建 CqrsTestRuntime 测试基础设施,提供对 CQRS 处理器注册的受控访问
- 测试并发场景下的线程安全性,验证多线程环境下容器操作的正确性
- 实现优先级排序功能测试,确保服务按优先级正确排序和注册
- 添加各种边界条件测试,包括空参数异常处理和重复注册异常检测
2026-04-15 17:47:54 +08:00
GeWuYou
81897ce2ac docs(source-generators): 添加源码生成器文档
- 新增 AutoRegisterExportedCollections 生成器文档
- 新增 AutoScene 生成器文档
- 新增 AutoUiPage 生成器文档
- 新增完整的源码生成器索引文档
- 详细介绍各生成器的使用方法和参数说明
- 提供生成代码示例和诊断信息说明
- 包含性能优势和使用示例章节
2026-04-15 17:00:49 +08:00
GeWuYou
f9cc1237a3 chore(project): 初始化项目结构和测试配置
- 创建 GFramework.Core.Tests 和 GFramework.Cqrs.Tests 测试项目
- 配置测试项目的全局 using 语句和依赖引用
- 添加主项目 GFramework 的元包配置文件
- 生成解决方案文件并配置所有项目引用关系
- 设置多目标框架支持 net8.0、net9.0 和 net10.0
- 配置包发布设置和仓库信息
2026-04-15 16:22:09 +08:00
GeWuYou
e2001766cb feat(arch): 添加架构上下文实现及完整测试
- 实现 ArchitectureContext 类,提供对系统、模型、工具等组件的访问
- 集成 CQRS runtime,支持命令、查询、事件的执行管理
- 添加服务缓存机制,优化容器解析性能
- 实现并发安全的 CQRS runtime 懒加载
- 提供同步和异步的请求处理方法
- 支持优先级排序的服务实例获取
- 添加完整的单元测试覆盖构造函数、查询、命令、事件等功能
- 配置测试项目依赖和全局引用
- 实现共享的 CQRS 测试运行时支持
2026-04-15 15:57:08 +08:00
GeWuYou
932235e8cc refactor(tests): 更新CqrsCoroutineExtensionsTests中的命名空间引用
- 添加GFramework.Core.Coroutine.Extensions命名空间引用
- 保持现有测试功能完整性
- 优化代码结构以匹配最新框架变更
2026-04-15 15:36:08 +08:00
GeWuYou
ede8a8faa4 fix(namespace): 修正命名空间
- 修正Core模块命名空间
- 修正Godot模块命名空间
2026-04-15 15:34:14 +08:00
GeWuYou
aba304f667 test(cqrs): 添加CQRS处理器注册器单元测试
- 验证通知处理器按稳定名称顺序执行而非依赖反射枚举顺序
- 测试部分类型加载失败时保留可加载类型并记录诊断日志
- 验证源码生成注册器优先级高于反射扫描机制
- 测试生成注册器元数据损坏时回退到反射扫描路径
- 实现确定性通知处理器执行顺序验证功能
- 添加捕获型日志工厂提供程序用于测试断言
- 修正命名空间从Core.Tests.Logging到Cqrs.Tests.Logging
2026-04-15 15:28:51 +08:00
GeWuYou
28cdf791df refactor(tests): 移除项目警告级别配置
- 移除了 GFramework.Cqrs.Tests 项目的 WarningLevel 配置
- 使测试项目遵循默认警告级别设置
2026-04-15 15:27:14 +08:00
GeWuYou
1c5c5c812a chore(deps): 更新 Meziantou.Analyzer 和 Meziantou.Polyfill 依赖包版本
- 将 Meziantou.Analyzer 从 2.0.264 版本升级到 3.0.46 版本
- 将 Meziantou.Polyfill 从 1.0.71 版本升级到 1.0.109 版本
2026-04-15 15:26:38 +08:00
GeWuYou
49ed5d0d06 refactor(tests): 添加CQRS抽象层依赖项
- 在ContainerRegistrationFixtures.cs中添加GFramework.Core.Abstractions.Cqrs命名空间引用
- 在MicrosoftDiContainerTests.cs中添加GFramework.Core.Abstractions.Cqrs命名空间引用
- 统一测试文件中的依赖注入配置
- 确保CQRS相关接口的正确引用路径
2026-04-15 15:22:00 +08:00
GeWuYou
34e140e919 feat(ioc): 添加 Microsoft DI 容器适配器和 CI/CD 工作流
- 实现 MicrosoftDiContainer 类,提供 Microsoft.Extensions.DependencyInjection 的适配器
- 添加 DefaultCqrsHandlerRegistrar 默认 CQRS 处理器注册器实现
- 配置 GitHub Actions CI/CD 工作流,包含代码质量检查和构建测试任务
- 设置 .NET 8/9/10 多版本支持和缓存策略
- 添加单元测试覆盖 IoC 容器的各项功能,包括注册、解析和生命周期管理
- 实现线程安全的读写锁机制保护容器操作
- 支持 CQRS 处理器和管道行为的注册管理
2026-04-15 15:13:43 +08:00
GeWuYou
048f96c6cd feat(core): 添加架构上下文和CQRS运行时实现
- 实现ArchitectureContext提供系统、模型、工具等组件访问管理
- 添加CqrsDispatcher作为GFramework自有CQRS运行时分发器
- 集成Microsoft.Extensions.DependencyInjection作为IoC容器适配器
- 实现完整的命令、查询、事件处理机制
- 支持上下文感知处理器注入架构上下文
- 提供管道行为链处理机制
- 实现流式请求处理功能
- 添加服务实例缓存和优先级排序支持
2026-04-15 14:41:53 +08:00
gewuyou
3dbe1053fb
Merge pull request #223 from GeWuYou/refactor/cqrs-architecture-decoupling-todo-4
feat(core): 扩展 CQRS 处理器注册 API 并完善文档
2026-04-15 13:21:31 +08:00
GeWuYou
a01ec8d29c fix(ci): 修复PR扫描的基线和头版本配置
- 将基础提交哈希从 github.event.before 更新为 github.event.pull_request.base.sha
- 将当前提交哈希从 github.sha 更新为 github.event.pull_request.head.sha
- 确保PR工作流正确比较基线和目标分支的差异
2026-04-15 13:20:31 +08:00
coderabbitai[bot]
2329cba3a6
fix: apply CodeRabbit auto-fixes
Fixed 1 file(s) based on 1 unresolved review comment.

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
2026-04-15 05:07:59 +00:00
GeWuYou
49df81e46f refactor(tests): 重构 CQRS 处理程序测试架构
- 移除自定义测试架构类,改用现有的 SyncTestArchitecture
- 将 RegisterCqrsHandlersFromAssembly 测试方法中的架构创建逻辑提取为统一方法
- 更新重复程序集注册去重测试,验证不同 Assembly 实例但相同程序集键的情况
- 简化测试架构初始化逻辑,使用 AddPostRegistrationHook 替代自定义配置
- 调整注释文档以反映新的测试架构创建方式
- 移除 GitHub 工作流中对 main 分支的限制条件
2026-04-15 12:59:12 +08:00
GeWuYou
340b6cae90 chore(ci): 更新GitHub Actions工作流配置
- 移除push触发器,仅保留pull request触发CI构建测试
- 添加CodeQL静态代码分析工作流,支持安全漏洞检测
- 配置每日凌晨2点定时执行CodeQL分析
- 设置.NET 8.0.x运行时环境支持
- 启用C#语言自动构建模式进行代码扫描
2026-04-15 12:51:59 +08:00
GeWuYou
0cd1e9e83a feat(ci): 添加CI/CD工作流和CQRS命令接口
- 配置CI构建和测试工作流,支持多.NET版本和并发测试
- 添加CodeQL静态代码分析工作流
- 实现自动版本递增和标签创建工作流
- 定义CQRS命令接口规范,包括响应式和流式命令
- 为架构测试添加空值参数异常文档注释
2026-04-15 12:47:22 +08:00
GeWuYou
27266d037d feat(arch): 添加架构基础类和依赖注入容器实现
- 创建 Architecture 基类提供系统、模型、工具等组件的注册与管理功能
- 实现架构生命周期管理、初始化流程控制和阶段转换功能
- 添加 ArchitectureModules 模块管理器负责 CQRS 行为注册和模块安装
- 实现 MicrosoftDiContainer 依赖注入容器适配器
- 支持单例、瞬态、作用域服务注册和工厂方法注册
- 添加 CQRS 请求管道行为和处理器注册功能
- 实现线程安全的读写锁保护容器操作
- 提供服务获取、排序和优先级管理功能
2026-04-15 12:38:45 +08:00
GeWuYou
4db7923512 docs(core): 添加 CQRS 架构模式详细文档
- 完整介绍 CQRS 核心概念包括命令、查询、处理器和分发器
- 提供命令和查询的定义与实现示例代码
- 详细介绍处理器编写方法和注册流程
- 说明管道行为(Behaviors)的使用方式
- 展示通知(Notification)和流式处理功能
- 提供最佳实践和常见问题解决方案
- 包含完整的 API 参考和用法示例
2026-04-15 11:44:44 +08:00
gewuyou
f59e8f7a1f
Merge pull request #222 from GeWuYou/refactor/cqrs-architecture-decoupling-todo-3
Refactor/Deprecate Mediator alias and introduce source-generated CQRS handler registry
2026-04-15 11:20:19 +08:00
GeWuYou
7a6f966601 feat(cqrs): 添加 CQRS 处理器注册生成器
- 实现 CqrsHandlerRegistryGenerator 源代码生成器
- 支持 IRequestHandler、INotificationHandler 和 IStreamRequestHandler 接口的处理器注册
- 生成程序集级别的 CQRS 处理器注册器以减少运行时反射开销
- 添加对请求、通知和流处理器的稳定顺序注册支持
- 实现对私有嵌套处理器的检测和回退机制
- 提供字符串字面量转义功能以避免生成代码中的语法错误
- 添加完整的单元测试验证生成器的功能和边界条件
2026-04-15 11:12:36 +08:00
GeWuYou
fd64423741 docs(core): 添加 CQRS 架构模式完整文档
- 新增 CQRS 核心概念介绍,包括命令、查询、处理器和分发器
- 添加基本用法示例,展示命令和查询的定义与发送流程
- 实现高级功能文档,涵盖请求、通知、管道行为和流式处理
- 提供最佳实践指南,明确命令查询分离和验证行为使用方式
- 增加常见问题解答,解释 Command/Query 区别和错误处理方案
- 新增 CQRS 处理器自动注册实现,支持源码生成和反射扫描
- 添加单元测试验证处理器注册顺序和容错行为
- 更新项目 AI 代理说明文档,完善模块依赖关系图
2026-04-15 10:21:20 +08:00
GeWuYou
295496e90f docs(core): 添加 CQRS 文档并实现架构模块管理
- 添加完整的 CQRS 中文文档,涵盖命令、查询、处理器、管道行为等核心概念
- 实现 ArchitectureModules 类用于管理架构模块安装和 CQRS 行为注册
- 重构 Architecture 类为协调器模式,委托给专门的管理器组件
- 添加 RegisterCqrsPipelineBehavior 方法替代旧的 RegisterMediatorBehavior
- 标记旧的扩展方法为 Obsolete 并提供新的兼容性别名
- 实现模块化架构组件注册和生命周期管理功能
2026-04-15 09:49:26 +08:00
gewuyou
779c521a20
Merge pull request #221 from GeWuYou/refactor/cqrs-architecture-decoupling-todo-2
Replace Mediator pattern with CQRS pipeline behavior registration
2026-04-15 09:12:46 +08:00
GeWuYou
c0e2e9a640 docs(coroutine): 更新CqrsCoroutineExtensions文档
- 添加了TaskCanceledException异常说明文档
- 详细描述了命令调度取消时的异常情况
- 补充了底层命令调度相关的异常处理说明
2026-04-15 09:05:22 +08:00
GeWuYou
4c0a99d24c fix(coroutine): 优化协程扩展中的异常处理机制
- 添加 TaskCanceledException 映射以统一取消状态处理
- 保留原始异常调用栈以避免调试时丢失异常来源
- 优先解包业务异常以避免直接暴露 AggregateException
- 使用 ExceptionDispatchInfo.Capture 确保异常栈信息完整
2026-04-15 08:25:52 +08:00
GeWuYou
96ffd49b31 fix(coroutine): 更新CQRS协程扩展的异常处理文档
- 将TaskCanceledException更改为Exception以反映实际抛出的异常类型
- 更新异常描述以准确说明在未提供onError时的行为
- 修正文档以反映底层原始异常的传递机制
2026-04-15 08:24:48 +08:00
GeWuYou
5a2981a557 feat(cqrs): 添加 CQRS 命令协程扩展功能
- 实现 CqrsCoroutineExtensions 扩展类,提供协程方式发送 CQRS 命令的功能
- 添加 SendCommandCoroutine 方法支持命令异步执行与异常处理
- 实现取消操作的特殊处理逻辑,区分取消、失败和成功状态
- 添加 ContextAwareCqrsCommandExtensions 扩展类,提供同步和异步命令发送方法
- 增加对 TaskCanceledException 的专门处理机制
- 完善相关单元测试,验证取消操作的异常处理行为
2026-04-15 08:18:27 +08:00
GeWuYou
088f02d586 docs(core): 添加 CQRS 文档并完善相关扩展方法
- 新增 CQRS 核心概念、命令查询处理器使用指南
- 添加管道行为、流式处理和最佳实践说明
- 实现 CQRS 协程扩展方法支持异步命令执行
- 添加 ContextAware 接口的 CQRS 命令查询扩展
- 集成 Microsoft DI 容器依赖注入支持
- 补充架构模块行为测试验证功能完整性
- 扩展 GameContext 测试用例提高代码覆盖率
2026-04-15 07:34:01 +08:00
GeWuYou
115fe65e88 docs(core): 添加 CQRS 和核心框架文档
- 新增 CQRS 模块详细文档,介绍命令查询职责分离模式
- 添加核心框架架构概述和五层架构设计说明
- 补充快速开始指南和最佳实践建议
- 完善包说明和组件联动机制介绍
- 添加架构生命周期管理和模块化设计说明
2026-04-14 22:54:27 +08:00
GeWuYou
5c112f8545 docs(core): 添加 CQRS 和核心框架文档
- 新增 CQRS 详细文档,介绍命令查询职责分离模式
- 添加核心框架概述文档,包含架构图和快速开始指南
- 详细介绍五层架构设计和组件联动机制
- 提供完整的最佳实践和设计理念说明
- 添加架构生命周期管理和模块化设计说明
2026-04-14 22:30:59 +08:00
gewuyou
156fd4df2f
Merge pull request #220 from GeWuYou/refactor/cqrs-architecture-decoupling-todo-1
Replace Mediator runtime with built-in CQRS
2026-04-14 22:12:40 +08:00
GeWuYou
f8fa2a8481 feat(cqrs): 添加流式命令处理器和自动注册功能
- 实现 AbstractStreamCommandHandler 基类支持流式命令处理
- 创建 CqrsHandlerRegistrar 自动扫描注册 CQRS 处理器
- 添加流式处理器接口 IStreamRequestHandler 支持
- 实现处理器注册的容错机制和类型加载恢复
- 添加确定性排序确保跨环境稳定的处理器注册顺序
- 提供完整的单元测试验证注册行为和异常处理
2026-04-14 22:05:20 +08:00
GeWuYou
195c8321a1 feat(cqrs): 添加CQRS命令查询责任分离架构支持
- 实现抽象命令处理器基类支持命令处理
- 添加流式命令处理器基类支持异步流式响应
- 创建查询处理器基类提供统一查询处理接口
- 实现查询基类提供通用查询结构定义
- 扩展架构上下文接口集成CQRS运行时入口
- 定义消息处理器委托支持管道行为处理
- 实现CQRS处理器注册器扫描并注册处理器
- 添加架构模块行为测试验证模块安装功能
- 创建中介器高级特性测试覆盖边界场景
2026-04-14 21:37:32 +08:00
GeWuYou
618f07369e config(ci): 配置Coderabbit以支持重构分支的自动审查
- 启用auto_review功能以进行代码审查
- 添加refactor/cqrs-architecture-decoupling作为基础分支
- 配置草稿PR时不进行审查的选项
- 设置聊天自动回复功能
2026-04-14 20:56:11 +08:00
gewuyou
48e57c8547 Replace Mediator runtime with built-in CQRS 2026-04-14 20:46:59 +08:00
GeWuYou
c2ee2209fd docs(community): 添加问题模板和缺陷报告模板
- 创建了 Bug Report 模板,支持中英双语,包含模块选择、版本信息、复现步骤等字段
- 添加了 Question 模板,用于使用咨询和技术问答
- 配置了预提交检查项,确保提交前完成必要验证
- 设计了结构化的表单字段,便于收集准确的问题信息
- 实现了多语言支持,提升社区协作体验
2026-04-14 13:13:06 +08:00
GeWuYou
396bb1566a docs(contributing): 更新贡献指南并添加标准 Issue 模板
- 更新问题报告指引,整合 Bug、功能、文档、咨询四类模板
- 优化 Issue 分诊建议,明确 bug、enhancement、documentation、question 分类
- 修订 PR 提交流程说明,统一模板使用要求
- 新增 README 项目介绍文档,包含模块说明、安装指导等内容
- 添加标准化 Issue 模板配置,支持 Bug 报告、功能建议、文档改进、使用咨询
- 完善 GitHub Issue 配置,提供模板搜索与文档链接指引
2026-04-14 13:06:00 +08:00
gewuyou
6b5acbd99a
Merge pull request #217 from GeWuYou/feat/godot-source-generators-project-metadata 2026-04-14 09:58:48 +08:00