GFramework/docs/core/overview.md
GeWuYou 88a528746d docs(website): 更新文档网站配置和内容结构
- 将描述从英文改为中文,突出框架的游戏开发定位
- 添加base路径配置以支持GitHub Pages部署
- 重构导航菜单,提供更清晰的文档分类
- 创建详细的侧边栏结构,涵盖入门指南、核心框架、游戏模块等内容
- 更新首页Hero区域,添加框架Logo和现代化功能介绍
- 移除默认示例页面,替换为实际的框架文档
- 添加页脚版权信息和Apache许可证声明
- 创建核心框架、游戏模块和Godot集成的概览文档
- 添加入门指南,包括安装配置、快速开始和架构概览
- 实现完整的多层级文档导航和内容组织
2026-02-11 12:52:14 +08:00

3.7 KiB

Core 核心框架概览

GFramework.Core 是整个框架的基础,提供了平台无关的核心架构能力。

核心特性

🏗️ 清洁架构

基于 Model-View-Controller-System-Utility 五层架构,实现清晰的职责分离和高内聚低耦合。

🔧 CQRS 模式

命令查询职责分离,提供类型安全的命令和查询系统,支持可撤销操作。

📡 事件驱动

强大的事件总线系统,支持类型安全的事件发布订阅,实现组件间松耦合通信。

🔄 响应式编程

可绑定属性系统,自动化的数据绑定和 UI 更新机制。

🎯 依赖注入

完善的 IoC 容器,支持自动依赖解析和生命周期管理。

核心组件

架构组件

  • Architecture - 应用架构管理器
  • AbstractModel - 数据模型基类
  • AbstractSystem - 业务系统基类
  • AbstractUtility - 工具类基类

命令查询系统

  • AbstractCommand - 命令基类
  • AbstractQuery - 查询基类
  • CommandExecutor - 命令执行器

事件系统

  • EventBus - 事件总线
  • EasyEvent - 简单事件
  • OrEvent - 组合事件

属性系统

  • BindableProperty - 可绑定属性
  • BindablePropertyGeneric - 泛型可绑定属性

工具类

  • IoC 容器 - 依赖注入容器
  • Logger - 日志系统
  • ObjectPool - 对象池

使用场景

Core 模块适用于任何 .NET 应用场景:

  • 游戏开发 - 作为游戏架构基础
  • 桌面应用 - WPF、WinForms 应用
  • 移动应用 - MAUI、Xamarin 应用
  • Web 应用 - ASP.NET Core 应用
  • 控制台应用 - 命令行工具

安装

dotnet add package GeWuYou.GFramework.Core
dotnet add package GeWuYou.GFramework.Core.Abstractions

快速示例

using GFramework.Core.architecture;

// 定义架构
public class MyAppArchitecture : Architecture
{
    protected override void Init()
    {
        RegisterModel(new UserModel());
        RegisterSystem(new UserService());
        RegisterUtility(new StorageUtility());
    }
}

// 定义模型
public class UserModel : AbstractModel
{
    public BindableProperty<string> Name { get; } = new("User");
    public BindableProperty<int> Score { get; } = new(0);
}

// 使用架构
var architecture = new MyAppArchitecture();
architecture.Initialize();

var userModel = architecture.GetModel<UserModel>();
userModel.Name.Value = "New Name"; // 自动触发更新

学习路径

建议按以下顺序学习 Core 模块:

  1. 架构基础 - 了解架构组件和生命周期
  2. 命令查询 - 掌握 CQRS 模式
  3. 事件系统 - 学习事件驱动编程
  4. 属性系统 - 理解响应式编程
  5. 工具类 - 使用辅助工具

与其他模块的关系

GFramework.Core (基础层)
    ↓ 依赖
GFramework.Game (游戏层)
    ↓ 依赖  
GFramework.Godot (引擎层)

Core 模块是其他所有模块的基础,提供核心的架构能力和设计模式实现。

性能特点

  • 零额外开销 - 编译时优化,运行时无性能损失
  • 内存友好 - 自动内存管理和对象回收
  • 类型安全 - 编译时类型检查,避免运行时错误
  • 可扩展 - 支持自定义扩展和插件

下一步