(转载)PureMVC 练习时的注意事项
1.主文件里实例化facade. 把主要的UI都放进去
2.第二步创建VO
3.UserForm 和UserList都有公共的持有别人需要的数据的变量
4.Mediator 把监听到的ui组件的event,能ApplicationFacade 事件的形式,sendNotification给大家。
5.sendNotification的时候,传的第二个参数,叫做内容体,对方需要什么就传什么。
6.Mediator都有一个NAME 静态属性,用于传给super()的第二个参数 不会
7.Mediator的构造函数只传一个参数,就是viewcomponent 这个viewcomponent 在这个Mediator类里是全局的。
8.ApplciationFacade里面要做四件事情
1).把事件名都准备好
2).写好getInstance()方法
3).要写好startUp方法
4).要定好initializeController这个方法,这里面至少把START_UP这个消息注册上。
9.StartupCommand 这个方法继承自MacroCommand这个command ,里面要addSubCommand两个Command,一个是ModelPrepCommand 一个是ViewPrepCommand 另外还要做一件事情是 ,注册上项目中具体的消息和Command 且上述这些都要放到initializeMacroCommand里面
10.ModelPrepCommand里面要注册上Proxy
11.ViewPrepCommand里要注册上所有具体的Mediator.因为在Meditor里要加上具体的view. 具体的view可以通过notifcation.getBody().{那个具体view在mainApp里面的id}
12.ModelPrepCommond 和 ViewPrepCommand 这两个Command 都继承自 SimpleCommand
13.UserListMediator的一个作用是把proxy中存的数据赋值给viewComponent.
14.Mediator 和 Proxy 中都有get
15.Proxy中有data这个公共属性
16.Proxy只发送,但不接收notification
17.在具体的command中,操作都是这样的:调用notification.getBody()拿到数据,然后retrieve proxy来执行操作
18.retrieveProxy方法出现在过Command里面,也出现在过Mediator里面。
19.具体的Command里面只有excute这一个方法。
20.Proxy里也有NAME这个必要属性,用于直接传入到super()这个方法里面,这个方法的第二个参数暂时定为new ArrayColletion(),即第一个参数是proxyName 第二个参数是data
21.retrieveProxy这个方法里唯一的参数是Proxy实例的NAME值.
22.instance在哪都有 在ApplicationFacade这个类里
23 Proxy 这个类要实现的东西。 1要有NAME 2要有super 3要把data用get 转换成可读的变量名,要有具体的方法(可能有若干个)
(转载)PureMVC 练习时的注意事项的更多相关文章
- Python:list 和 array的对比以及转换时的注意事项
Python:list 和 array的对比以及转换时的注意事项 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6-4 ...
- MySQL DROP TABLE操作以及 DROP 大表时的注意事项【转】
删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCAD ...
- SSH框架整合jar包时的注意事项
SSH框架整合jar包时的注意事项: 在将三个框架所需的jar整合到一起后,要看一下有没有相同类型但是版本不同的jar包,如果有的话,需要把低版本的jar包删除掉,否则会报错.我这里整合的时候java ...
- No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项
CHENYILONG Blog No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项 ...
- 在win7系统上搭建django+oracle 11g时,注意事项
在win7系统上搭建django+oracle 11g时,注意事项[示例用的是python 2.7]: 重要:python.oracle.oracle client这三个的OS bit 一定一定要相同 ...
- MYSQL中GROUP BY不包含所有的非聚合字段时的注意事项
本文导读:在MYSQL中使用GROUP BY分组时,我们可以select 多个非聚合字段,但是这些字段不在GROUP BY中,这样的SQL查询在SQL SERVER.ORACLE中是不合理的,且会报错 ...
- Oracle数据库表设计时的注意事项
表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计与 ...
- Hibernate criteria 混合sql语句多表关联时查询注意事项
直接进入正题 假设有一个实体类 /** * 产品分类 */ public class ProductType{ @Id private String no;//编号 private String na ...
- 【转载】关于RenderTarget的注意事项
原文:关于RenderTarget的注意事项 1. 设置一个RenderTarget会导致viewport变成跟RenderTarget一样大 2. 反锯齿类型必须跟DepthStencilBuffe ...
随机推荐
- iOS 计算两个日期之间的天数问题
//获取当前时间若干年.月.日之后的时间 + (NSDate *)dateWithFromDate:(NSDate *)date years:(NSInteger)years months:(NSIn ...
- 窗口 namedWindow(), destroyWindow(), destroyAllWindows()[OpenCV 笔记6]
void namedWindow(const string& winname, int flags=WINDOW_AUTOSIZE); 创建一个窗口.imshow直接指定窗口名,可以省去此函数 ...
- c++ fstream中seekg()和seekp()的用法
转自:http://blog.sina.com.cn/s/blog_679f85d40100mysi.html 先说一下C语言中fseek()的功能: 函数原型:int fseek(FILE *fp, ...
- PHP & Javascript 如何对字符串中包含html标签进行编码 整理
为什么要对字符串编码? 某些字符串中包含html标签,不编码,页面输出就乱了. PHP下怎么对字符串编码? htmlentities vs htmlspecialchars htmlentities ...
- 身份证js验证
<script type="text/javascript"> //--身份证号码验证-支持新的带x身份证 function isIdCardNo(num) { var ...
- MFC 简单输出EXCEL - (OLE)
三图胜千言: 就是酱紫: //打印领料表 void CKnifeDlgDlg::PrintCurUsedTabel(int order) { // TODO: Add your command han ...
- yii2 gii页面404和debug调试栏无法显示解决方法
在debug和gii配置项中加一项: 'allowedIPs' => ['127.0.0.1', '::1', '*.*.*.*']即可 注:因为yii默认只让127.0.0.1访问
- PHP程序缓存之文件缓存处理方式
PHP程序缓存之文件缓存处理方式在开发程序过程中,缓存的设置大大提升程序效率,减小数据库负载.基本配置缓存和常规配置缓存 基本配置缓存在项目开发中类似这样子的格式: 文件:config.php $CF ...
- PHP学习心得(五)——类型
简介 PHP 支持8种基本的数据类型. 四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: ...
- (转载)StringGrid常用属性和常用操作
Delphi StringGrid常用属性和常用操作 StringGrid组件用于建立显示字符串的网格,与电子表格相似.它可使表格中的字符串和相关对象操作简单化.StringGrid组件提供了许多可控 ...