mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-28 16:13:28 +08:00
- 移除ContextAwareServiceExtensions中GetService/GetSystem/GetModel/GetUtility方法的可空返回值 - 添加ContextGetGenerator源码生成器,支持通过特性自动生成上下文注入代码 - 新增GetService/GetServices/GetSystem/GetSystems/GetModel/GetModels/GetUtility/GetUtilities/GetAll特性 - 添加ContextGetDiagnostics提供注入相关的编译时诊断检查 - 实现INamedTypeSymbol扩展方法AreAllDeclarationsPartial用于检查partial类声明 - 添加ITypeSymbol扩展方法IsAssignableTo用于类型兼容性判断 - 创建FieldCandidateInfo和TypeCandidateInfo记录类型用于存储生成器候选信息 - 添加IsExternalInit内部类型支持低版本.NET框架的init-only setter功能 - 更新AnalyzerReleases.Unshipped.md添加新的诊断规则条目 - 创建完整的单元测试验证生成器功能和各种边界情况
GFramework.Core
GFramework 框架的核心模块,提供MVC架构的基础设施。
主要功能
- Architecture - 应用程序架构管理,支持依赖注入、生命周期管理和模块化扩展
- Model - 数据模型层,管理应用状态和数据
- System - 业务逻辑层,处理核心业务逻辑和事件响应
- Controller - 控制器层,处理用户输入和UI协调
- Command - 命令模式实现,封装用户操作
- Query - 查询模式实现,支持CQRS架构
- Events - 事件系统,实现组件间松耦合通信
- IoC - 轻量级依赖注入容器
- Property - 可绑定属性,支持数据绑定和响应式编程
- StateManagement - 集中式状态容器,支持状态归约、选择器和诊断
- Utility - 无状态工具类
- Pool - 对象池系统,减少GC压力
- Extensions - 框架扩展方法
- Logging - 日志系统
- Environment - 环境配置管理
设计原则
- 与平台解耦,不依赖特定游戏引擎
- 接口隔离,职责单一
- 依赖倒置,面向接口编程
- 组合优于继承
详细文档
参见 docs/zh-CN/core/ 目录下的详细文档。