# 基础教程:从零开始使用 GFramework 欢迎来到 GFramework 的基础教程!本教程将带你从零开始,创建一个完整的计数器应用,逐步掌握 GFramework 的核心概念和最佳实践。 ## 📚 教程概述 通过本教程,你将: - 搭建完整的开发环境 - 创建一个基于 Godot 的项目并集成 GFramework - 从基础实现到架构优化,体验完整的重构过程 - 理解 Model、Command、System、Utility 等核心概念 - 掌握事件驱动架构的设计思想 ## 🎯 学习目标 完成本教程后,你将能够: - ✅ 搭建 GFramework 开发环境 - ✅ 使用 GFramework 构建清晰的应用架构 - ✅ 理解并应用 MVC 架构模式 - ✅ 使用命令系统解耦业务逻辑 - ✅ 通过事件系统实现组件通信 - ✅ 合理使用 Utility 和 System 层 ## ⏱️ 预计学习时间 - **快速浏览**:30 分钟 - **完整实践**:2-3 小时 - **深入理解**:4-6 小时 ## 📋 前置知识要求 ### 必需 - C# 基础语法 - 面向对象编程概念 - 基本的命令行操作 ### 推荐 - Godot 引擎基础(了解节点系统即可) - MVC 架构基础概念 - 依赖注入的基本理解 ## 📖 教程章节 ### [1. 环境准备](./01-environment.md) 搭建 GFramework 开发环境,包括 .NET SDK 和 Godot 引擎的安装配置。 **关键内容**: - 系统要求检查 - .NET SDK 安装 - Godot 引擎配置 - 环境验证 **预计时间**:15-30 分钟 --- ### [2. 项目创建与初始化](./02-project-setup.md) 创建 Godot 项目,引入 GFramework,并搭建基础架构。 **关键内容**: - 创建 Godot 项目 - 引入 GFramework NuGet 包 - 定义游戏架构类 - 创建三大模块(Model、System、Utility) - 配置游戏入口点 **预计时间**:30-45 分钟 --- ### [3. 基础计数器实现](./03-counter-basic.md) 实现一个简单的计数器功能,了解传统实现方式的问题。 **关键内容**: - 搭建 UI 场景 - 实现基础计数器功能 - 分析代码中的耦合问题 - 理解为什么需要架构优化 **预计时间**:20-30 分钟 --- ### [4. 引入 Model 重构](./04-model-refactor.md) 将数据状态抽离到 Model 层,引入事件系统实现数据驱动。 **关键内容**: - 创建 Model 接口和实现 - 注册 Model 到架构 - 使用事件系统更新 UI - 对比重构前后的改进 **预计时间**:30-40 分钟 --- ### [5. 命令系统优化](./05-command-system.md) 使用 Command 模式解耦交互逻辑,让 Controller 更加清晰。 **关键内容**: - 创建增减计数命令 - 重构 Controller 使用命令 - 理解 Command 的职责边界 - 对比直接调用的优缺点 **预计时间**:30-40 分钟 --- ### [6. Utility 与 System](./06-utility-system.md) 引入 Utility 处理业务规则,使用 System 响应状态变化。 **关键内容**: - 实现计数限制 Utility - 创建阈值检查 System - 理解各层的职责分工 - 完整架构总结 **预计时间**:40-50 分钟 --- ### [7. 总结与最佳实践](./07-summary.md) 回顾整个架构设计,总结最佳实践和常见问题。 **关键内容**: - 各层职责对照表 - 设计原则总结 - 常见问题 FAQ - 下一步学习建议 **预计时间**:15-20 分钟 --- ## 🚀 快速开始 如果你已经熟悉基础概念,可以: 1. **只想看最终效果**:直接跳到 [第 6 章](./06-utility-system.md) 查看完整架构 2. **已有 Godot 项目**:从 [第 2 章](./02-project-setup.md) 开始集成 GFramework 3. **想快速上手**:按顺序完成 [第 2-4 章](./02-project-setup.md),掌握核心用法 ## 💡 学习建议 - **边学边做**:每个章节都包含完整代码,建议跟着实践 - **理解原理**:不要只复制代码,思考每一步的设计意图 - **对比差异**:重构前后的代码对比是理解架构价值的关键 - **举一反三**:将学到的模式应用到自己的项目中 ## 🔗 相关资源 - [GFramework 文档首页](../../) - [Core 核心框架](../../core/) - [Godot 集成](../../godot/) - [源码生成器](../../source-generators/) ## ❓ 遇到问题? - 查看 [常见问题 FAQ](./07-summary.md#常见问题-faq) - 访问 [GitHub Issues](https://github.com/GeWuYou/GFramework/issues) - 加入社区讨论 --- ::: tip 提示 本教程采用循序渐进的方式,每一步都基于前一步的代码。建议按顺序学习,这样能更好地理解架构演进的过程。 ::: ::: warning 注意 教程中的代码示例使用 Godot 4.5.1+ 和 .NET 6.0+。如果你使用不同版本,可能需要适当调整。 ::: 让我们开始吧!👉 [第 1 章:环境准备](./01-environment.md)