摘要:
QFramework 架构的模块注册与获取是通过 IOCContainer 实现的。 IOC 的意思是控制反转,即控制反转容器。 其技术的本质很简单,本质就是一个字典,Key 是 Type,Value 是 Object,即:Dictionary<Type,object>。 QFramework 架构 阅读全文
QFramework 架构的模块注册与获取是通过 IOCContainer 实现的。 IOC 的意思是控制反转,即控制反转容器。 其技术的本质很简单,本质就是一个字典,Key 是 Type,Value 是 Object,即:Dictionary<Type,object>。 QFramework 架构 阅读全文
posted @ 2022-10-17 11:43
凉鞋的笔记
阅读(154)
评论(0)
推荐(0)
摘要:
TypeEventSystem 是基于 EasyEvent 实现的。 EasyEvent 也是一个可以脱离架构使用的工具。 这里我们来学习一下基本用法。 基本使用 代码如下: using UnityEngine; namespace QFramework.Example { public class 阅读全文
TypeEventSystem 是基于 EasyEvent 实现的。 EasyEvent 也是一个可以脱离架构使用的工具。 这里我们来学习一下基本用法。 基本使用 代码如下: using UnityEngine; namespace QFramework.Example { public class 阅读全文
posted @ 2022-10-17 11:41
凉鞋的笔记
阅读(212)
评论(0)
推荐(0)
摘要:
QFramework 除了提供了一套架构之外,QFramework 还提供三个可以脱离架构使用的工具 TypeEventSystem、EasyEvent、BindableProperty、IOCContainer。 这些工具并不是有意提供,而是 QFramework 的架构在设计之初是通过这三个工具 阅读全文
QFramework 除了提供了一套架构之外,QFramework 还提供三个可以脱离架构使用的工具 TypeEventSystem、EasyEvent、BindableProperty、IOCContainer。 这些工具并不是有意提供,而是 QFramework 的架构在设计之初是通过这三个工具 阅读全文
posted @ 2022-10-17 11:41
凉鞋的笔记
阅读(207)
评论(0)
推荐(0)
摘要:
QFramework 提供了拦截 Command 的 API。 我们尝试在 CounterApp 中实现一个 Command 日志。 代码很简单,如下: public class CounterApp : Architecture<CounterApp> { protected override v 阅读全文
QFramework 提供了拦截 Command 的 API。 我们尝试在 CounterApp 中实现一个 Command 日志。 代码很简单,如下: public class CounterApp : Architecture<CounterApp> { protected override v 阅读全文
posted @ 2022-10-17 11:40
凉鞋的笔记
阅读(124)
评论(0)
推荐(0)
摘要:
不管是 System、Model 还是 Utility,都会注册到 Architecture 中。 伪代码如下: namespace QFramework.PointGame { public class PointGame : Architecture<PointGame> { protected 阅读全文
不管是 System、Model 还是 Utility,都会注册到 Architecture 中。 伪代码如下: namespace QFramework.PointGame { public class PointGame : Architecture<PointGame> { protected 阅读全文
posted @ 2022-10-17 11:39
凉鞋的笔记
阅读(241)
评论(0)
推荐(0)
摘要:
由于 QFramework 支持 MVC、分层 和 CQRS,再加上提供了使用规范,那么 QFramework 就可以达到高度的标准化,达到高度的标准化那么就有了做一件事情的条件,就是纸上设计。 假如我们想实现一个主角吃金币,金币数量增加的功能,则可以按照如下顺序设计图。 首先需要确定数据结构。 我 阅读全文
由于 QFramework 支持 MVC、分层 和 CQRS,再加上提供了使用规范,那么 QFramework 就可以达到高度的标准化,达到高度的标准化那么就有了做一件事情的条件,就是纸上设计。 假如我们想实现一个主角吃金币,金币数量增加的功能,则可以按照如下顺序设计图。 首先需要确定数据结构。 我 阅读全文
posted @ 2022-10-17 11:38
凉鞋的笔记
阅读(214)
评论(0)
推荐(1)
摘要:
首先,我们来实现一个好玩的事情,就是在前边已经实现好的 CounterApp 的基础上,光速实现一个编辑器版本的 CounterApp。 代码非常简单,如下: #if UNITY_EDITOR using System; using UnityEditor; using UnityEngine; n 阅读全文
首先,我们来实现一个好玩的事情,就是在前边已经实现好的 CounterApp 的基础上,光速实现一个编辑器版本的 CounterApp。 代码非常简单,如下: #if UNITY_EDITOR using System; using UnityEditor; using UnityEngine; n 阅读全文
posted @ 2022-10-17 11:37
凉鞋的笔记
阅读(119)
评论(0)
推荐(0)
摘要:
QFramework 架构提供了四个层级: 表现层:IController 系统层:ISystem 数据层:IModel 工具层:IUtility 除了四个层级,还提供了 Command、Query、Event、BindableProperty 等概念和工具。 这里有一套层级的规则,如下: 表现层: 阅读全文
QFramework 架构提供了四个层级: 表现层:IController 系统层:ISystem 数据层:IModel 工具层:IUtility 除了四个层级,还提供了 Command、Query、Event、BindableProperty 等概念和工具。 这里有一套层级的规则,如下: 表现层: 阅读全文
posted @ 2022-10-17 11:36
凉鞋的笔记
阅读(307)
评论(0)
推荐(0)
摘要:
Query 是 CQRS 中的 Q,也就是 Command Query Responsibility Saperation 中的 Query。 关于 Command 我们已经介绍了。 而 Query 是和 Command 对应的查询对象。 首先 Controller 中的表现逻辑更多是接收到数据变更 阅读全文
Query 是 CQRS 中的 Q,也就是 Command Query Responsibility Saperation 中的 Query。 关于 Command 我们已经介绍了。 而 Query 是和 Command 对应的查询对象。 首先 Controller 中的表现逻辑更多是接收到数据变更 阅读全文
posted @ 2022-10-17 11:34
凉鞋的笔记
阅读(286)
评论(0)
推荐(0)
摘要:
在这篇我们介绍一个新的概念 BindableProperty。 BindableProperty 是包含 数据 + 数据变更事件 的一个对象。 BindableProperty 基本使用 简单的用法如下: var age = new BindableProperty<int>(10); age.Re 阅读全文
在这篇我们介绍一个新的概念 BindableProperty。 BindableProperty 是包含 数据 + 数据变更事件 的一个对象。 BindableProperty 基本使用 简单的用法如下: var age = new BindableProperty<int>(10); age.Re 阅读全文
posted @ 2022-10-17 10:03
凉鞋的笔记
阅读(195)
评论(0)
推荐(0)

浙公网安备 33010602011771号