MVCS框架的注意点
1.Service最好用一个接口对应一个service(便于增加扩展方法)
2.除Services和Model外都需继承自各自对应的父类
3.View不要轻易重写Start和Awake方法(含与启动有关的代码)
4.View文件包含一个View和对应的mediator脚本,在Context中将View和对应的Mediator进行Bind
5.只有Command的Event需要在Context中进行Bind,其他文件的Event不需要
6.[Inject]自动注入(赋值)必须做成属性
7.在Mediator中重写OnRegister(当所有属性被注入后并且都Bind完后调用)和OnRemove方法(当对应的View被销毁时调用)
8.View只和Mediator交互,Mediator向Controller发送一个Command,在回调,在Mediator中创建一个View对象进行交互
9.所有文件都有一个Event枚举
10.模块间的通信用dispatcher(只用一次用局部就行,多次使用创建成全局的)
[inject]
public IEventDispatcher dispatcher{get;set;}
11.dispatcher通过dispatch(...Event. ...)发
第二个参数是数据(可无),数据可以是任何类型
AddListener(...Event. ...,OnComplete)收
第二个参数是用来处理数据的函数
用完通过RemoveListener销毁
public void OnComplete(IEvent evt){ }//evt.data表示数据
12.Command --> Service:在Command中创建一个IServices的对象进行交互,在Context中将IService和Service Bind
13.在Model和Service绑定代码后加上 .ToSingleton()表示这个对象只会在整个工程中生成一个
14.在Service中创建局部dispatcher向Command传信息
15.在Command <--> Service过程中Service可能花大量时间,在此过程中Command可能会自动销毁,在Excute中加入Retain()保证一直不会销毁,在收数据函数末尾加上Release()销毁Command
16.Model是自己和自己做Bind
Service是接口和实现做Bind
MVCS框架的注意点的更多相关文章
- StrangeIoc框架学习
StrangeIoc是一款基于MVCS的一种框架,是对MVC思想的扩展,是专门针对Unity3D开发的一款框架,非常好用. 一.MVCS分别代表什么 MVCS框架是一种模块的分离,一种写代码的规则,目 ...
- Unity3D手游开发实践
<腾讯桌球:客户端总结> 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身.虽然基于Unity3D,很多东西同样适用于Cocos.本文从以下10大点进行阐述: 架构设计 原生插件/ ...
- Robotlegs2 学习笔记 -- SwiftSuspenders 2.x (2)
Swiftsuspenders2简介 Swiftsuspenders2是一个基于元数据(metadata)的IOC(控制反转,inversion of control)的AS3的解决方案.(对于元数据 ...
- (转)Unity3D手游开发实践
作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). (转)& ...
- Uber的API生命周期管理平台边缘网关(Edge Gateway)的设计实践
设计边缘网关(Edge Gateway),一个高可用和高可扩展的自助服务网关,用于配置.管理和监控 Uber 每个业务领域的 API. Uber 的 API 网关的演进 2014 年 10 月,优步开 ...
- Uber三代API 生命周期管理平台实现 Uber
Uber三代API 生命周期管理平台实现 - InfoQ https://www.infoq.cn/article/H8Ml6L7vJGQz0efpWvyJ Uber 三代 API 生命周期管理平台实 ...
- 关于StrangeIOC框架
在Unity上进行开发,请先看对其开发模式应用的讨论: http://www.reddit.com/r/Unity3D/comments/1nb06h/unity_design_patterns_an ...
- StrangeIoc框架学习----在项目中实战
最近,因为公司的项目一直在研究StrangeIoc框架,小有所得,略作记录. StrangeIoc是一款基于MVCS的一种框架,是对MVC思想的扩展,是专门针对unity开发的一款框架,非常好用. 一 ...
- 【iOS】小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)
上一个项目使用到了ReactiveCocoa+MVVM+AFNetworking+FMDB框架设计,从最初的尝试,到后来不断思考和学习,现在对这样一个整体设计还是有了一定了理解与心得.在此与大家分享下 ...
随机推荐
- MongoDB之Array Object的特殊操作
相比关系型数据库,Array[1,2,3,4,5]和Object{'name':'Wjs'}是MongoDB比较特殊的类型 db.Wjs.insert({"name":" ...
- Android 中Application向Activity 传递数值
比如极光注册时获取用户的唯一标示ID需要在登录时进行传递,实现消息的指定用户推送功能 public String id; public String getId() { return id; } pu ...
- 贪吃蛇Listener Java实现(二)
package cn.tcc.snake.listener; import cn.tcc.snake.antition.Sanke;//接口//处理用户按键事件public interface Sna ...
- PCB规则设置
规则设置
- windows安装ssh工具opensssh
本篇教程将告诉你如何在Windows 10设备上启用SSH,让您可以通过命令提示符连接到远程服务器 工具/原料 首先你需要下载windows版本的OpenSSH, 本教程以7.2p1-1版本为例 ...
- java调用微信扫一扫
步骤: 1,获取Accesstoken(参考我之前的文章) 2,获取jsapiticket(参考我之前的文章) 3,获取签名 4JSSDK使用步骤 步骤一:绑定域名(JS接口安全域名),.否则会报in ...
- Java遍历文件夹下的所以文件
利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...
- Requested a new session but one was in progress
作为appium初学者,估计很多人都会遇到这个错误.如何解决: 1.环境变量中去掉appium的安装路径,添加Appium\node_modules\.bin这个路径进去. 2.启动cmd 输入app ...
- oracle学习之数据库数据保存成文件
常常需要将数据库中的数据生成文档,由于比较喜欢脚本的方式,所以就需要使用spool的时候进行格式设置,以下简单整理了一下oracle中进行格式设置的一些东西,一共十八条,其实常用的也就那么几个,稍后会 ...
- 产品密钥无法激活成功,最后使用visio2013激活软件激活成功。
装了visio2013,使用网上搜索的产品密钥,没有一个能够激活成功.最后发现了visio的一个激活软件KMSpico,成功激活. 破解工具 KMSpico_setup.exe 下载地址: http: ...