(转载)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 ...
随机推荐
- oracle级联删除 触发器
CREATE TABLE STUDENT( --创建学生表 ID NUMBER(10) PRIMARY KEY, --主键ID SNAME VARCHAR2(20), CLASSNAME V ...
- requirejs源码
require.js /** vim: et:ts=4:sw=4:sts=4 * @license RequireJS 2.1.11 Copyright (c) 2010-2014, The Dojo ...
- 重新设置MySQL的root密码
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...
- Android中的自定义属性的实现
Android开发中,如果系统提供的View组件不能满足我们的需求,我们就需要自定义自己的View,此时我们会想可不可以为自定义的View定义属性呢?答案是肯定的.我们可以定义自己的属性,然后像系统属 ...
- Eclipse相关
JDK版本更换相关: 启动eclipse会报错:根据报错信息后面提示的eclipse配置信息,我将配置中的c:/xx/javaw.exe给移除了.并在eclipse.ini中配置了-vm d:/Jav ...
- imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 1 extraneous bytes be
imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 1 extraneous bytes be ...
- write() ,read();
int main1(int argc ,char *argv[]){ if(argc < 2 ) return 0; int fd = open(argv[1] , O_RDONLY); if( ...
- 使用远程链接数据库工具无法链接到 linxu 系统上的数据库配置 1045
1.远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库.mysql -uroot -p(密码). 2. 创建用户用来远程连接 GRANT ALL PRIVILEGES ...
- 数据库创建&数据表创建
--第2_1题创建数据库 create database Student201038897041 on primary (name='student1', filename='F:\coures\SQ ...
- Redis — CentOS6.4安装Redis以及安装PHP客户端phpredis
一.安装Redis 1.下载安装包 wget http://download.redis.io/releases/redis-2.8.6.tar.gz 2.解压包 tar xzf redis-2.8. ...