GeWuYou 9edf64193f docs(architecture): 更新架构设计模式指南文档
- 将标题从"架构模式最佳实践"改为"架构设计模式指南"
- 添加全面的架构设计模式介绍和概述
- 新增MVC模式详细说明,包括概念、GFramework实现示例和最佳实践
- 新增MVVM模式详细说明,包括概念、GFramework实现示例和最佳实践
- 新增命令模式详细说明,包括概念、实现示例和撤销功能支持
- 新增查询模式详细说明,包括CQRS概念和复杂查询示例
- 新增事件驱动模式详细说明,包括事件定义和监听实现
- 新增依赖注入模式详细说明,包括构造函数注入示例
- 新增服务定位器模式详细说明,包括与依赖注入对比
- 新增对象池模式详细说明,包括通用对象池实现
- 新增状态模式详细说明,包括异步状态和状态机系统
- 补充模式选择与组合建议,针对小型、中型、大型项目提供不同方案
- 更新代码示例中的泛型语法格式,统一使用尖括号表示法
2026-03-07 17:32:26 +08:00
2025-12-28 13:54:22 +08:00

GFramework

面向游戏开发场景的模块化 C# 框架,核心能力与具体引擎解耦,可按需组合 Core / Game / Godot / Source Generators。

NuGet Core NuGet Meta Godot .NET License zread

项目简介

GFramework 采用清晰分层与模块化设计,强调:

  • 架构分层Architecture / Model / System / Utility
  • 命令与查询分离CQRS
  • 类型安全事件机制
  • 可绑定属性与响应式数据流
  • 可扩展的 IOC/生命周期管理
  • 基于 Roslyn 的源码生成能力

项目灵感参考自 QFramework,并在模块边界、工程组织和可扩展性方面进行了持续重构。

功能模块

模块 说明 文档
GFramework.Core 平台无关的核心架构能力架构、命令、查询、事件、属性、IOC、日志等 查看
GFramework.Core.Abstractions Core 对应的抽象接口定义 查看
GFramework.Game 游戏业务侧扩展状态、配置、存储、UI 等) 查看
GFramework.Game.Abstractions Game 模块抽象接口定义 查看
GFramework.Godot Godot 集成层(节点扩展、场景/设置/存储适配等) 查看
GFramework.SourceGenerators 通用源码生成器(日志、枚举扩展、规则等) 查看
GFramework.Godot.SourceGenerators Godot 场景下的源码生成器扩展 查看

文档导航

如果你更偏好按模块阅读,建议从各子项目 README.md 开始,再回到 docs/ 查阅专题文档。

包选择说明(避免混淆)

  • GeWuYou.GFramework聚合元包Meta Package用于一键引入常用能力集合适合快速试用或原型阶段。
  • GeWuYou.GFramework.Core:核心起步包,适合希望按模块精细控制依赖的项目(推荐生产项目从此起步)。

如果你已明确技术栈建议优先按模块安装Core / Game / Godot / SourceGenerators避免不必要依赖。

快速安装

按实际需求选择依赖:

# 核心能力(推荐最小起步)
dotnet add package GeWuYou.GFramework.Core
dotnet add package GeWuYou.GFramework.Core.Abstractions

# 游戏扩展
dotnet add package GeWuYou.GFramework.Game
dotnet add package GeWuYou.GFramework.Game.Abstractions

# Godot 集成(仅 Godot 项目需要)
dotnet add package GeWuYou.GFramework.Godot

# 源码生成器(可选,但推荐)
dotnet add package GeWuYou.GFramework.SourceGenerators

仓库结构

GFramework.sln
├─ GFramework.Core/
├─ GFramework.Core.Abstractions/
├─ GFramework.Game/
├─ GFramework.Game.Abstractions/
├─ GFramework.Godot/
├─ GFramework.SourceGenerators/
├─ GFramework.Godot.SourceGenerators/
├─ docs/
└─ docfx/

兼容性

  • 运行时/工具链:基于 .NET 生态,具体以各项目 *.csprojTargetFramework 为准。
  • 引擎集成:当前提供 Godot 集成模块Core 层可迁移至其他 .NET 场景。

贡献

欢迎提交 Issue 与 Pull Request

  1. Fork 本仓库并创建特性分支
  2. 补充必要的测试或文档更新
  3. 提交 PR描述变更背景、方案与验证结果

许可证

本项目采用 Apache License 2.0

Description
No description provided
Readme Apache-2.0 9.2 MiB
Languages
C# 95.8%
Shell 2.9%
PowerShell 0.8%
Python 0.5%