278 Commits

Author SHA1 Message Date
GeWuYou
d8df348bec refactor(architecture): 重构架构生命周期管理和组件注册逻辑
- 添加IDisposable接口导入并优化组件生命周期管理
- 引入IInitializable和IDisposable统一管理待初始化和可销毁组件
- 实现统一的组件生命周期注册逻辑RegisterLifecycleComponent方法
- 重构InitializeAllComponentsAsync方法按类型分组初始化组件
- 更新RegisterSystem、RegisterModel和RegisterUtility方法使用新生命周期管理
- 修改Destroy方法使用新的_disposables集合进行有序销毁
- 移除旧的_mModels、_mSystems、_mContextUtilities字段
- 添加ValidateRegistration方法验证注册时机
- 重构InitializeInternalAsync方法使用新的组件初始化流程
- 移除废弃的InitializeComponentAsync方法
- 添加异常处理和错误日志记录机制
2026-01-17 09:14:04 +08:00
GeWuYou
efa069d2f5 refactor(core): 重构核心框架生命周期管理
- 引入标准化的生命周期接口体系 (IInitializable, IDisposable, ILifecycle)
- 将上下文工具类的初始化方法改为公共访问权限
- 为上下文工具类添加销毁功能和相关回调方法
- 更新模型和系统接口以使用新的生命周期接口
- 移除原有的独立初始化和销毁方法声明
- 统一框架组件的生命周期管理机制
2026-01-17 08:52:51 +08:00
GeWuYou
b6554c5820 refactor(state): 重构状态机实现以支持状态历史记录和线程安全
- 在销毁时添加当前状态退出和所有状态清理逻辑
- 向IStateMachine接口添加状态检查、获取、历史记录等新方法
- 实现线程安全的状态机,添加锁保护并发访问
- 添加状态历史记录功能,支持最大历史数量限制
- 实现GoBack状态回退功能和状态转换验证
- 添加状态切换前后的回调方法
- 在注销状态时从历史记录中移除相关引用
- 添加Unregister方法中的状态转换验证逻辑
2026-01-17 08:43:32 +08:00
GeWuYou
442e8e7088 refactor(setting): 重构设置系统以支持数据和应用器分离
- 将SettingsModel内部存储分离为_dataSettings和_applicators两个字典
- 添加IDataSettings接口用于标识纯数据设置
- 修改Get方法为GetData以明确区分数据获取
- 添加RegisterApplicator和GetApplicator方法管理可应用设置
- 更新TryGet方法支持从数据和应用器中查找设置
- 扩展SettingsPersistence支持批量保存和加载所有设置数据
- 将AudioBusMap重命名为AudioBusMapSettings并实现ISettingsData接口
- 修改Godot音频和图形设置适配新的接口变更
- [skip ci]
2026-01-16 23:44:28 +08:00
GeWuYou
516a9e2281 feat(setting): 添加设置持久化功能
- 实现了 SettingsPersistence 类提供设置数据的加载、保存、删除等操作
- 定义了 ISettingsPersistence 接口规范设置持久化行为
- 集成存储服务支持异步读写设置节数据
- 实现类型安全的设置节存取机制
- 提供设置节存在性检查和删除功能
- 采用 "Settings_类型名称" 格式生成存储键名
2026-01-16 23:25:33 +08:00
GeWuYou
66d4c8be11 docs(TEST_COVERAGE_PLAN): 更新测试覆盖清单文档
- 添加了清单更新部分,说明测试完成后需要更新进度
- 格式化文档开头的空行调整
- 新增更新日志章节
- [skip ci]
2026-01-16 15:47:59 +08:00
GeWuYou
7246fef061 doc(core-tests): 添加架构配置和上下文相关单元测试添加注释
- 添加注释
- [skip ci]
2026-01-16 13:15:52 +08:00
GeWuYou
70e16724c9 feat(test): 完成ContextAwareStateMachine的单元测试覆盖
- 创建了ContextAwareStateMachineTests.cs,包含12个测试用例
- 覆盖了状态机的集成测试、上下文感知功能、状态变更事件等核心功能
- 测试了Init方法的上下文初始化、状态变更事件发送、多状态注册等功能
- 更新测试覆盖率从~45%提升至~47%,总测试数从286个增加到298个
- 完成第一批所有5个核心
v0.0.113
2026-01-16 12:35:50 +08:00
GeWuYou
804ccee329 feat(tests): 添加ArchitectureEventsTests测试类并更新测试覆盖率计划
- 新增ArchitectureEventsTests.cs文件,包含9个测试用例
- 覆盖架构生命周期事件、事件订阅、事件顺序等核心功能
- 测试用例包括ArchitectureLifecycleReadyEvent、ArchitectureDestroyingEvent、
  ArchitectureDestroyedEvent、ArchitectureFailedInitializationEvent等事件
- 更新TEST_COVERAGE_PLAN.md中的测试统计数据
- 测试覆盖率从44%提升至45%
- 现有测试数从277个增加到286个
- 缺失测试数相应调整为122-178个
- 已完成文件数更新为4/26个
2026-01-16 12:21:22 +08:00
GeWuYou
64f015865a feat(architecture): 添加ArchitectureServices测试并提升代码覆盖率
- 创建ArchitectureServicesTests.cs文件,包含15个测试用例
- 覆盖构造函数、服务初始化、上下文管理、接口实现验证等功能
- 验证多实例间的独立性,包括Container、EventBus、CommandBus、QueryBus
- 修改GetContext方法行为,从抛出异常改为返回null
- 测试覆盖率从42%提升至44%
- 更新测试覆盖清单文档,同步最新测试数据
- [skip ci]
2026-01-16 12:15:11 +08:00
GeWuYou
9c61486dbe docs(TEST_COVERAGE_PLAN): 添加注释规范说明
- 生成的测试类需要有注释说明这个测试类具体有哪些测试
- 测试方法需要有注释说明具体测试的是什么
- 对于复杂逻辑的测试方法,需要有标准的行注释说明逻辑,不要使用行位注释
- 对于类与方法的测试
v0.0.112
2026-01-16 11:47:40 +08:00
GeWuYou
c84c573693 feat(architecture): 添加 ArchitectureContext 测试用例
- 新增 ArchitectureContextTests.cs 文件,包含 22 个测试用例
- 覆盖构造函数参数验证、命令/查询/事件发送功能
- 包含系统、模型、工具组件获取功能测试
- 更新测试计划文档中的测试数量统计和完成状态
- 修正测试方法命名以匹配实际实现的方法名
- 添加上下文访问安全性验证测试
- [skip ci]
2026-01-16 11:40:36 +08:00
GeWuYou
82e3bd1ec2 feat(tests): 完成ArchitectureConfigurationTests测试用例开发
- 创建ArchitectureConfigurationTests.cs文件,包含12个测试用例
- 覆盖默认配置初始化、自定义配置替换、接口实现验证等场景
- 测试日志属性和架构属性的各种配置情况
- 验证实例间属性不共享的安全性
- [skip ci]
更新测试覆盖率从41%提升至42%,完成240个测试用例
2026-01-16 11:01:15 +08:00
GeWuYou
de53fe5413 docs(test): 添加GFramework.Core模块测试覆盖详细清单
添加TEST_COVERAGE_PLAN.md文档,包含:
- 当前测试覆盖率统计(41%)和目标(85%+)
- 各子系统测试覆盖情况分析
- 26个缺失测试文件的详细规划
- 分批次执行计划和时间预估
- 预计总共180-236个测试用例
- [skip ci]
2026-01-16 10:48:39 +08:00
GeWuYou
4f1450fc9b test(state): 添加状态机和状态相关单元测试
添加了 StateMachineTests.cs 文件,包含以下测试用例:
- 验证当前状态为空时的行为
- 测试状态注册功能
- 测试状态切换功能,包括 OnEnter 和 OnExit 回调的调用
- 测试状态转换权限控制
- 测试状态注销功能
- 验证多个状态切换的回调逻辑
 添加了 StateTests.cs 文件,包含以下测试用例:
- 验证状态类实现 IState 接口
- 测试 OnEnter、OnExit 方法
- 测试 CanTransitionTo 转换规则
- 验证复杂状态转换逻辑
- [skip ci]
2026-01-16 10:18:59 +08:00
GeWuYou
941cbee0ad feat(state): 添加上下文感知状态基类
- 实现了ContextAwareStateBase类,继承IState和IContextAware接口
- 提供状态进入、退出和转换的基础功能
- 添加架构上下文的设置和获取方法
- 支持状态转换规则的自定义实现
- 包含完整的XML文档注释
v0.0.111
2026-01-16 08:26:52 +08:00
GeWuYou
c0274074b3 feat(state): 添加状态机系统核心功能实现
- 实现了基础状态机StateMachine类,支持状态注册、切换和生命周期管理
- 创建了上下文感知状态机ContextAwareStateMachine,能够感知架构上下文并发送状态变更事件
- 定义了IState和IStateMachine抽象接口,规范状态和状态机的行为契约
- 添加了StateChangedEvent事件类,用于通知状态变更
- 实现了游戏专用状态机GameStateMachine,提供类型安全的状态检查和获取功能
v0.0.110
2026-01-15 23:04:41 +08:00
GeWuYou
863e0a523a test(logging): 更新日志生成器快照测试中的依赖项定义
- 在测试代码中添加了完整的 LogAttribute 定义
- 添加了 ILogger 接口和相关实现类定义
- 包含 LoggerFactoryResolver 和 MockLoggerProvider 实现
- 补充了 MockLogger 类的具体实现
- 确保所有测试用例都有完整的基础依赖项定义
v0.0.109
2026-01-15 22:11:20 +08:00
GeWuYou
6cfde41dc6 feat(events): 添加全局事件获取或添加功能
- 实现了GetOrAdd方法用于获取或添加指定类型的全局事件
- 添加了XML文档注释说明方法用途和泛型约束
- 方法支持自动创建不存在的事件实例并返回指定类型对象
2026-01-15 22:00:32 +08:00
GeWuYou
2ae26ea590 fix(events): 修复事件获取方法调用错误
- 将 EasyEvents.Get 替换为 EasyEvents.GetOrAdd 以确保事件实例正确获取
- 移除多余的 _easyEvents.GetOrAddEvent 调用避免重复初始化
- 统一事件获取方式提高代码一致性
2026-01-15 22:00:24 +08:00
GeWuYou
77502e1b91 test(property): 添加测试清理方法并改进比较器测试
- 添加TearDown方法重置默认比较器
- 修改WithComparer测试使用新的比较器验证机制
- 添加比较器调用验证断言
- 更新测试逻辑以正确验证比较器行为
2026-01-15 22:00:11 +08:00
GeWuYou
1783245d22 test(rule): 添加上下文感知测试的绑定和清理逻辑
- 在测试设置中添加 GameContext 绑定
- 添加 TearDown 方法用于解绑上下文
- 确保测试后正确清理上下文状态
2026-01-15 22:00:05 +08:00
GeWuYou
ee3a087e35 refactor(ui): 重命名页面行为接口并更新依赖包版本
- 将 IPageBehavior 接口重命名为 IUiPageBehavior 并更新相关引用
- 将 CanvasItemPageBehavior 类重命名为 CanvasItemUiPageBehavior
- 更新 Newtonsoft.Json 从 13.0.3 到 13.0.4
- 更新 NUnit3TestAdapter 从 6.0.1 到 6.1.0
- 更新 Microsoft.CodeAnalysis.CSharp.SourceGenerators.Testing 从 1.1.2 到 1.3
- 为多个项目添加 Meziantou.Analyzer 和 Meziantou.Polyfill 包引用
2026-01-15 21:33:51 +08:00
GeWuYou
d1b4ef1971 feat(godot): 添加Godot UI注册表和日志测试用例
- 实现GodotUiRegistry类用于管理PackedScene类型的UI资源注册和获取
- 添加完整的控制台日志记录器单元测试覆盖所有日志级别和功能
- 添加日志工厂相关测试用例验证不同配置下的日志行为
- 实现基础日志抽象类的完整测试覆盖各种日志记录场景
2026-01-15 20:51:06 +08:00
GeWuYou
5d11666fd8 test(core): 添加核心组件的单元测试
- 为 ContextAware 功能添加全面的单元测试覆盖
- 增加对枚举扩展生成器的快照测试验证
- 实现环境管理器的完整测试用例集
- 添加事件总线功能的核心测试验证
- 为游戏上下文管理添加架构测试
- 扩展注销列表扩展方法的测试覆盖
- 增加注销机制的全面单元测试验证
- [skip ci]
2026-01-15 14:36:30 +08:00
GeWuYou
dda2d8f864 test(core): 添加核心组件单元测试并优化目标框架配置
- 在AsyncTestModel和TestModel中添加override关键字修复方法重写
- 调整GFramework.Core.Tests和GFramework.SourceGenerators.Tests的目标框架顺序为net10.0;net8.0
- 优化SyncArchitectureTests中的注释格式,统一添加前导空格
- 移除TestQuery相关代码文件
- 新增BindablePropertyTests测试绑定属性功能
- 新增CommandBusTests测试命令总线功能
- 新增EasyEventsTests和EventTests测试事件系统功能
- 新增IocContainerTests测试依赖注入容器功能
- 新增ObjectExtensionsTests测试对象扩展方法功能
- 新增ObjectPoolTests测试对象池功能
- 新增OrEventTests测试或事件功能
- 新增QueryBusTests测试查询总线功能
- [skip ci]
2026-01-15 13:53:08 +08:00
GeWuYou
3ec1c6748b refactor(ui): 使用集合表达式初始化列表
- 将 List<IUiTransitionHandler> 的初始化从 new() 改为 []
- 简化了代码语法,提高可读性
v0.0.108
2026-01-15 12:38:57 +08:00
GeWuYou
c931cb7d66 feat(ui): 添加CanvasItem页面行为和Godot UI工厂
- 实现CanvasItemPageBehavior类支持所有继承自CanvasItem的节点
- 添加OnEnter、OnExit、OnPause、OnResume、OnHide、OnShow页面生命周期方法
- 创建GodotUiFactory工厂类用于创建UI页面实例
- 实现Create方法根据UI键创建页面行为实例
- 重命名IUiPageProvider为IUiPageBehaviorProvider接口
- 更新接口方法GetPage返回页面行为实例的描述
2026-01-15 12:33:19 +08:00
GeWuYou
8fd7e2e952 feat(ui): 添加UI页面生命周期和路由管理相关接口及实现
- 定义了IPageBehavior接口,提供UI页面的生命周期方法如OnEnter、OnExit、OnPause、OnResume等
- 创建了IUiFactory接口用于创建UI页面实例,以及IUiPage接口定义页面基本操作
- 添加了IUiPageEnterParam接口用于定义页面跳转参数数据结构
- 实现了IUiRouter接口提供页面栈管理功能,支持Push、Pop、Replace、Clear等操作
- 创建了UI切换处理器相关接口和实现,包括IUiTransitionHandler和UiTransitionPipeline
- 添加了UI切换事件系统,支持BeforeChange和AfterChange两个执行阶段
- 实现了日志记录处理器LoggingTransitionHandler用于记录UI切换信息
- 定义了多种UI切换策略枚举如UiTransitionPolicy、UiTransitionType等
- 提供了UI注册表接口用于管理UI实例的注册和获取功能
2026-01-15 08:44:56 +08:00
GeWuYou
14894814a5 refactor(logging): 重构日志生成器代码结构
- 添加AttributeData扩展方法用于获取命名参数和构造函数参数
- 引入GenericInfo记录结构体处理泛型信息
- 将INamedTypeSymbol扩展方法转换为扩展方法语法
- 添加ResolveGenerics方法解析泛型参数和约束条件
- 简化LoggerGenerator中的参数解析逻辑
- 移除不再需要的GetNamedArg私有方法
- 优化代码可读性和维护性
v0.0.107
2026-01-14 13:36:32 +08:00
GeWuYou
7876647871 feat(generator): 添加命名类型符号扩展方法并优化日志生成器
- 新增 INamedTypeSymbolExtensions 扩展类,提供 GetFullClassName 方法获取完整类名
- 在 LoggerGenerator 中引入命名空间扩展,支持嵌套类型完整路径解析
- 重构 LoggerGenerator 的类名和参数解析逻辑,增强代码可读性
- 添加对 record 类型的支持,完善类型判断机制
- 优化泛型参数和约束的处理方式,提升代码生成准确性
2026-01-14 13:21:54 +08:00
GeWuYou
3fb281031c feat(logging): 添加泛型类的日志生成器支持
- 添加了对泛型类的支持,包括类型参数和约束的处理
- 实现了泛型约束的代码生成功能
- 增加了对引用类型、值类型、构造函数约束的支持
- 重构了类声明的生成逻辑以支持泛型参数
- 添加了必要的命名空间引用和集合操作支持
2026-01-14 13:12:06 +08:00
GwWuYou
f781be22a9 refactor(setting): 重构音频设置系统架构
- 将 GodotAudioSettings 从继承模式改为组合模式
- 移除 GodotAudioApplier 类,统一使用 GodotAudioSettings
- 修改 GodotAudioSettings 构造函数接受 AudioSettings 和 AudioBusMap 参数
- 更新文档中的代码示例和类图关系
- 添加自定义总线映射的平滑过渡功能
- 优化音频设置的应用流程和音量转换逻辑
v0.0.106
2026-01-12 22:01:58 +08:00
GwWuYou
fcac697663 refactor(setting): 将Godot音频设置应用逻辑合并到设置类中
- 移除独立的GodotAudioApplier类,将其功能整合到GodotAudioSettings中
- 在GodotAudioSettings类中实现音频总线音量设置逻辑
- 更新项目文件移除对已删除文件的引用
- 添加设置系统和信号连接系统的技术文档
- 完善Godot扩展方法和设置模块的使用说明
2026-01-12 21:33:42 +08:00
GwWuYou
807dbc482e feat(setting): 添加设置管理系统和Godot平台实现
- 实现了SettingsModel用于管理应用程序设置部分
- 创建了SettingsSystem用于应用各种设置配置
- 添加了AudioSettings和GraphicsSettings基础设置类
- 定义了ISettingsModel、ISettingsSystem等核心接口
- 实现了GodotAudioApplier用于应用音频设置到Godot音频系统
- 创建了GodotGraphicsSettings用于管理游戏图形显示设置
- 添加了GodotFileStorage特化文件存储实现
- 实现了Godot路径扩展方法IsUserPath、IsResPath、IsGodotPath
- 添加了AudioBusMap音频总线映射配置类
2026-01-12 21:07:27 +08:00
GeWuYou
5877dae8fe chore(build): 更新.gitignore文件
- 添加.idea/目录到忽略列表中,避免IDE相关配置文件被提交到仓库。
- [skip ci]
2026-01-12 14:55:27 +08:00
GeWuYou
32ac9e8069 refactor(GFramework.Core): 修改GameArchitecture基类继承
- 移除Architecture泛型参数,将GameArchitecture的继承从
`Architecture<GameArchitecture>`改为`Architecture`
- [skip ci]
2026-01-12 14:45:26 +08:00
GeWuYou
ca133d47f5 refactor(GFramework.Core): 修改GameArchitecture类继承关系
移除了GameArchitecture类中的泛型参数,从Architecture<GameArchitecture>
改为直接继承Architecture基类,并更新了相应的代码格式。
2026-01-12 14:44:53 +08:00
GeWuYou
396723bd68 refactor(GFramework.Core): 简化GameArchitecture类的继承实现
移除了GameArchitecture类中不必要的泛型参数,并删除了示例代码中的PlayerModel
类定义,因为AbstractModel基类已经自动实现了架构引用功能,简化了组件注册
的代码示例。
2026-01-12 14:44:35 +08:00
GeWuYou
023ba44f57 docs(pool): 完善对象池系统文档并添加使用示例
更新 GFramework.Core 对象池系统的 README 文档,增加详细的功能说明、API
参考、使用示例和最佳实践。

主要变更包括:

- 补充核心组件的详细说明和代码示例
- 添加 IPoolableObject 接口的完整定义
- 添加 IObjectPoolSystem 接口和 AbstractObjectPoolSystem 抽象类的
  详细说明
- 增加基本使用指南,包含池化对象定义和系统实现步骤
- 添加高级用法示例,如多键对象池管理和大小限制
- 补充游戏对象池、UI元素池等具体应用场景
- 添加性能优化建议和最佳实践指导
- 完善注意事项和相关包引用信息
2026-01-12 14:44:19 +08:00
GeWuYou
065f997654 refactor(logging): 更新GameArchitecture继承方式
移除了GameArchitecture类中对Architecture<GameArchitecture>的泛型继承,
改为直接继承Architecture基类,简化了架构实现并保持了相同的功能。
2026-01-12 14:44:01 +08:00
GeWuYou
96bf8a1982 refactor(ioc): 修改Architecture基类设计并更新文档
- 将Architecture基类从泛型改为非泛型设计,简化继承关系
- 移除泛型约束<T>,使架构定义更加简洁
- 更新GameArchitecture示例代码以适配新的基类设计
- 添加Contains、ContainsInstance和Clear等实用方法的详细文档
- 补充了容器实用方法的使用场景和注意事项说明
2026-01-12 14:43:40 +08:00
GeWuYou
9217c95bad refactor(command): 重命名EmptyCommentInput为EmptyCommandInput
- 将EmptyCommentInput类重命名为EmptyCommandInput以修正拼写错误
- 更新README.md文档中的相关引用和代码示例
- 移除文件开头的BOM字符
2026-01-12 14:42:22 +08:00
GeWuYou
525685c62f docs(architecture): 更新架构文档添加核心方法详细说明
- 添加 Initialize() 和 InitializeAsync() 方法的详细文档
- 补充 InstallModule 模块管理和 RegisterLifecycleHook 生命周期钩子说明
- 增加 CurrentPhase 和 Context 属性的使用示例
- 提供完整的代码示例和异常处理说明
2026-01-12 14:40:56 +08:00
GeWuYou
a8803f31be docs(GFramework.Game): 添加游戏功能模块完整文档
创建了 GFramework.Game 模块的详细 README 文档,涵盖以下核心内容:

- 模块概述和核心设计理念介绍
- 架构模块系统说明,包含 AbstractModule 使用示例
- 资产管理系统详解,包括资产目录和映射功能
- 存储系统实现,支持分层存储和缓存机制
- 序列化系统集成,基于 Newtonsoft.Json 的完整方案
- 丰富的代码示例,展示实际使用场景
- 最佳实践指南,涵盖数据模型设计和性能优化建议
- 性能特性说明和技术栈依赖关系
2026-01-12 13:40:36 +08:00
GeWuYou
de1dd9002a docs(core): 更新核心模块文档说明
- 移除架构README中接口链接的方括号标记
- 在架构README中添加构造函数参数说明和特性优化
- 移除命令README中继承能力接口的冗余说明
- 重构命令抽象基类为泛型版本并添加输入参数结构
- 更新事件README中接口引用路径和事件总线相关说明
- 重命名事件类名去掉Easy前缀统一为Event
- 更新扩展方法README为ContextAware扩展并添加新的扩展方法
- 移除控制器示例中的Godot特定生命周期方法
- 更新IOC容器README中线程安全实现和方法扩展说明
- [skip ci]
2026-01-12 11:10:41 +08:00
GwWuYou
8adce14b43 docs(pool): 添加对象池系统文档
- 创建了对象池系统的完整技术文档
- 详细说明了核心组件包括IPoolableObject接口和IObjectPoolSystem接口
- 描述了AbstractObjectPoolSystem抽象类的实现机制
- 解释了对象池的设计特点和工作原理
- 列出了对象池系统的典型使用场景
- 提供了完整的API参考和生命周期管理说明
v0.0.105
2026-01-11 21:12:45 +08:00
GwWuYou
5d623462ce feat(pool): 添加对象池系统基础架构
- 实现了抽象对象池系统支持基于键值的对象池管理
- 定义了对象池系统接口和可池化对象接口规范
- 提供了获取、释放和清空对象池的核心功能
- 添加了Godot节点专用的对象池系统抽象类
- 实现了对象在池中生命周期管理的回调机制
2026-01-11 21:07:23 +08:00
GwWuYou
3afef8cb49 feat(storage): 添加细粒度锁机制保证线程安全
- 通过细粒度锁机制保证线程安全,每个键都有独立的锁
- 更新文档说明线程安全特性,不同键的操作可以并发执行
- 添加存储键格式说明,支持使用 / 作为分隔符创建目录层级
- 补充异步操作安全性说明,异步IO仍使用锁保证并发访问安全
2026-01-11 20:46:45 +08:00
GwWuYou
4c997ffc07 refactor(storage): 为FileStorage添加基于key的细粒度线程安全锁
- 引入ConcurrentDictionary存储每个key对应的锁对象
- 在Delete方法中添加key级别锁定确保删除操作的原子性
- 在Exists方法中使用key级别锁定保证存在性检查的线程安全
- 在Read同步方法中添加key级别锁定保护文件读取操作
- 在Write同步方法中添加key级别锁定保护文件写入操作
- 在ReadAsync异步读取方法中使用锁保护文件访问并优化异步IO
- 在WriteAsync异步写入方法中使用锁保护文件访问并优化异步IO
- 更新类注释说明支持细粒度锁的线程安全特性
- 改进XML文档注释的准确性和清晰度
2026-01-11 20:44:26 +08:00