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框架的注意点的更多相关文章

  1. StrangeIoc框架学习

    StrangeIoc是一款基于MVCS的一种框架,是对MVC思想的扩展,是专门针对Unity3D开发的一款框架,非常好用. 一.MVCS分别代表什么 MVCS框架是一种模块的分离,一种写代码的规则,目 ...

  2. Unity3D手游开发实践

    <腾讯桌球:客户端总结> 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身.虽然基于Unity3D,很多东西同样适用于Cocos.本文从以下10大点进行阐述: 架构设计 原生插件/ ...

  3. Robotlegs2 学习笔记 -- SwiftSuspenders 2.x (2)

    Swiftsuspenders2简介 Swiftsuspenders2是一个基于元数据(metadata)的IOC(控制反转,inversion of control)的AS3的解决方案.(对于元数据 ...

  4. (转)Unity3D手游开发实践

    作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). (转)& ...

  5. Uber的API生命周期管理平台边缘网关(Edge Gateway)的设计实践

    设计边缘网关(Edge Gateway),一个高可用和高可扩展的自助服务网关,用于配置.管理和监控 Uber 每个业务领域的 API. Uber 的 API 网关的演进 2014 年 10 月,优步开 ...

  6. Uber三代API 生命周期管理平台实现 Uber

    Uber三代API 生命周期管理平台实现 - InfoQ https://www.infoq.cn/article/H8Ml6L7vJGQz0efpWvyJ Uber 三代 API 生命周期管理平台实 ...

  7. 关于StrangeIOC框架

    在Unity上进行开发,请先看对其开发模式应用的讨论: http://www.reddit.com/r/Unity3D/comments/1nb06h/unity_design_patterns_an ...

  8. StrangeIoc框架学习----在项目中实战

    最近,因为公司的项目一直在研究StrangeIoc框架,小有所得,略作记录. StrangeIoc是一款基于MVCS的一种框架,是对MVC思想的扩展,是专门针对unity开发的一款框架,非常好用. 一 ...

  9. 【iOS】小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)

    上一个项目使用到了ReactiveCocoa+MVVM+AFNetworking+FMDB框架设计,从最初的尝试,到后来不断思考和学习,现在对这样一个整体设计还是有了一定了理解与心得.在此与大家分享下 ...

随机推荐

  1. 用脚手架创建vue项目

    .创建文件地址 首先创建一个文件夹,我用的HBuilder编辑器 , 然后把文件夹拖入编辑器 , 在你创建的文件夹里面打开cmd 2.输入安装命令 : 1). npm install --global ...

  2. maven 转化gradle

  3. linux 备忘录

    1. ps aux|grep 程序 -------->查看当前程序是否运行 ps aux|grep nginx 2. tar -zxvf 压缩包 ---------> 解压缩 tar -z ...

  4. http协议的学习

    TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据.

  5. c#cardview 把record 去掉,控件cardview的cardCaption标题

    private void cardView1_CustomDrawCardCaption(object sender, DevExpress.XtraGrid.Views.Card.CardCapti ...

  6. iOS.Notification.Bar.Color

    Reference: http://apple.stackexchange.com/questions/44246/what-determines-the-special-color-of-the-s ...

  7. appache压力测试

    apache自带压力工具测试说明: Usage: ab [options] [http[s]://]hostname[:port]/pathOptions are: -n requests Numbe ...

  8. java.lang.NoClassDefFoundError: org/apache/ibatis/cursor/Cursor

    因为mybatis的版本和mybatis-spring的版本不兼容导致的,解决方法:mybatis的3.4.0及以上版本用mybatis-spring1.3.0及以上版本:mybatis的3.4.0以 ...

  9. Bowtie2的安装与使用

    Bowtie2的安装与使用  2017-06-15 18:58:52     342     0     0 Bowtie2用来快速比对短reads(50-100bp)与参考基因组,与常规的比对软件不 ...

  10. p值还是 FDR ?

    p值还是 FDR ? 差异分析 如何筛选显著性差异基因,p value, FDR 如何选 经常有同学询问如何筛选差异的基因(蛋白).已经计算了表达量和p value值,差异的基因(蛋白)太多了,如何筛 ...