Unity QFrameWork--使用规则
使用规则
对于Event规则
• IController 可以监听事件
• ICommand 可以发送事件
• ISystem 可以发送和监听事件
• IModel 可以发送事件
架构分为四个层级:
•表现层:IController 接口,负责接收输入和当状态变化时更新表现,一般情况下 MonoBehaviour 均为表现层对象。
•系统层:ISystem 接口,帮助 IController 承担一部分逻辑,在多个表现层共享的逻辑,比如计时系统、商城系统、成就系统等。
•模型层:IModel 接口,负责数据的定义以及数据的增删改查方法的的提供。
•工具层:IUtility 接口,负责提供基础设施,比如存储方法、序列化方法、网络链接方法、蓝牙方法、SDK、框架集成等。
使用规则:
•IController 更改 ISystem、IModel 的状态必须用 Command。
•ISystem、IModel 状态发生变更后通知 IController 必须用事件 或 BindableProeprty。
•IController 可以获取 ISystem、IModel 对象来进行数据查询。
•ICommand 不能有状态。
•上层可以直接获取下层对象,下层不能获取上层对象。
•下层像上层通信用事件。
•上层向下层通信用方法调用,IController 的交互逻辑为特使情况,只能用 Command。
Command 继承AbstractCommand, IController
Event 不用继承
MonoBehaviour 基本都继承 IController 且return xxGame.Interface;
Model 中 IGameModel继承IModel Modle继承AbstractModel, IGameModel
System 中IGameSystem继承ISystem SystemAbstractSystem, IGameSystem
(待更新)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通