liangxiegame/QFramework

Godot/Unity3D System Design Architecture

C#SCSSObjective-C++Objective-CJavaScriptShaderLabunityunity-editorunity3dunity-scriptsunity-assetunity-3dgodotenginegodotgodot-engineu3dunity3d-pluginframeworksunity2dgame-devgodot-addonunity3d-frameworkgodot-pluginunity-frameworkqframeworkgodot4
This is stars and forks stats for /liangxiegame/QFramework repository. As of 29 Apr, 2024 this repository has 3603 stars and 723 forks.

QFramework 简介 Intro 中文|English QFramework 是提供一套简单、强大、易上手、符合 SOLID 原则、支持领域驱动设计(DDD)、事件驱动、数据驱动、分层、MVC 、CQRS、模块化、易扩展的架构,她的源码只有不到 1000 行,你可以完全把她放在你的笔记应用里保存。 提供的架构图 举个例子(一图胜千言😂) 各种情况的示意图 架构使用规范 QFramework系统设计架构分为四层及其规则: 表现层:ViewController层。IController接口,负责接收输入和状态变化时的表现,一般情况下,MonoBehaviour 均为表现层 可以获取System 可以获取Model 可以发送Command 可以监听Event 系统层:System层。ISystem接口,帮助IController承担一部分逻辑,在多个表现层共享的逻辑,比如计时系统、商城系统、成就系统等 可以获取System 可以获取Model 可以监听Event 可以发送Event 数据层:Model层。IModel接口,负责数据的定义、数据的增删查改方法的提供 可以获取Utility 可以发送Event 工具层:Utility层。IUtility接口,负责提供基础设施,比如存储方法、序列化方法、网络连接方法、蓝牙方法、SDK、框架继承等。啥都干不了,可以集成第三方库,或者封装API 除了四个层级,还有一个核心概念——Command 可以获取System 可以获取Model 可以发送Event 可以发送Command 层级规则: IController 更改 ISystem、IModel 的状态必须用Command ISystem、IModel状态发生变更后通知IController必须用事件或BindableProperty IController可以获取ISystem、IModel对象来进行数据查询 ICommand不能有状态 上层可以直接获取下层,下层不能获取上层对象 下层向上层通信用事件 上层向下层通信用方法调用(只是做查询,状态变更用Command),IController的交互逻辑为特别情况,只能用Command (照抄自:学生课堂笔记1) 运行环境 Unity 2018.4.x ~ 2021.x 安装 QFramework.cs 直接复制此代码到自己项目中的任意脚本中 QFramework.cs 与 官方示例 点此下载 unitypackage QFramework.ToolKits 点此下载 unitypackage QFramework.ToolKitsPro 从 AssetStore 安装 资源 版本 QFramework.cs QFramework 本体架构的实现 文件 QFramework.cs 示例 QFramework.cs 与官方示例: CounterApp、《点点点》、FlappyBird、CubeMaster、ShootingEditor2D、贪吃蛇等 点此下载 unitypackage QFramework.Toolkits QFramework 集成 CoreKit/UIKit/ActionKit/ResKit/PackageKit/AudioKit 等全部官方工具(已包含 QFramework.cs 和 示例) 点此下载 unitypackage QFramework.Toolkits.Demo.WuZiQi 使用 QFramework.Toolkits 开发的五子棋 Demo(需要安装好 QFramework.Toolkits) 点此下载 unitypackage QFramework.Toolkits.Demo.Saolei 使用 QFramework.Toolkits 开发的扫雷 Demo(需要安装好 QFramework.Toolkits) 点此下载 unitypackage QFramework.ToolKitsPro 在 ToolKits 基础上集成更多好用的工具的版本(已包含 QFramework.Toolkits) AssetStore 群友案例 赛车游戏《Crazy Car》 群友 TastSong 使用 QF 进行重构的开源赛车游戏 游戏主页(Github) 社区 QQ 群:623597263 交流群 点击加群 github issue github 社区 地址 gitee issue gitee 社区(国内访问快) 地址 教程 《框架搭建 决定版》 教程 QFramework 的核心架构是怎么演化过来的? 课程主页|学生课堂笔记1|学生课堂笔记2 产品案例 如果用了 qf 并且想要在如下列表中登记,可以在 github/gitee 的 issue 里发帖子,也可以加 qq 群,也可以用邮箱联系凉鞋 [email protected] 独立游戏《当火车鸣笛三秒》 部分使用 QF 制作的独立游戏 Steam|TapTap 独立游戏《你好茄子》 部分使用 QF 制作的独立游戏 游戏主页(Steam) 独立游戏《第一座山》 部分使用 QF 制作的独立游戏 游戏主页(Steam) 独立游戏《推灭泡泡姆》 ‍QF 群友,大学生团队制作的独立游戏,终于等到上架啦,亲自游玩过,很好玩,大家多多支持呀~(P.S 使用 QF.cs 作为架构开发的哦~) 游戏主页(TapTap) 独立游戏《鬼山之下》 部分使用 QF 制作的独立游戏 游戏主页(Steam) 手机游戏《谐音梗挑战》 部分使用 QF 制作的独立游戏 游戏主页(TapTap) 其他相关教程 《独立游戏体验计划》(猫叔) 独立游戏制作体验教程,有用到 QFramework.cs b 站 《原创独立游戏制作:平台射击 Roguelike》(凉鞋) 原创独立游戏制作教程,有用到 QFramework.cs b 站 《原创独立游戏制作:类星露谷》(凉鞋) 原创独立游戏制作教程,有用到 PlayMaker、QFramework.Tookits b 站 《QFramework 游戏开发:类幸存者》 面向 QFramework 的游戏开发教程,完成一款类吸血鬼幸存者游戏。 b 站 《QFramework 教程年会员》 QFramework 相关的课程案例 GamePix Star 趋势(如果项目有帮到您欢迎点赞) 贡献者 蓝色孤舟 gdtdftdqtd h3166179 葫芦 WangEdgar 凉鞋 liangxiegame 优秀的 Unity 库、框架 ET:ET Unity3D Client And C# Server Framework IFramework(OnClick) Simple Unity Tools JEngine 使Unity开发的游戏支持热更新的解决方案。 TinaX Framework “开箱即用”的Unity独立游戏开发工具 代码规范完全遵循: QCSharpStyleGuide 赞助 Donate: 如果觉得不错可以在 这里 Asset Store 给个 5 星哦~ give 5 star 或者给此仓库一个小小的 Star~ star this repository 以上这些都会转化成我们的动力,提供更好的技术服务!
Read on GithubGithub Stats Page
repotechsstarsweeklyforksweekly
atom/apmCoffeeScriptLessJavaScript1.3k03190
TheSadError/NIVOSITECSSHTMLJavaScript90310
matthewhowell/reasonable-colorsCSSSCSS361090
buildspace/terra-starterCSSHTMLJavaScript120780
yumata/lampaJavaScriptCSSHTML2400620
apachecn/sklearn-doc-zhCSSJavaScriptPython4.9k01.5k0
godweiyang/hexo-theme-sungodEJSCSSJavaScript481+13400
hashicorp/packerGoMDXHCL14.6k03.4k0
JuliaDocs/Documenter.jlJuliaSCSSJavaScript74604570
tkkcc/ArkLightsLuaPythonShell1.5k0640