(转载)http://blog.sina.com.cn/s/blog_4d5a45ce01010axd.html

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 转换成可读的变量名,要有具体的方法(可能有若干个)

要点总结 要把写代码的顺序归纳出来 :
vo proxy
ui 
facade 
然后去主文件上把ui和facade都添加上。
mediator
具体command
二级command
startupCommand
启动facade

(转载)PureMVC 练习时的注意事项的更多相关文章

  1. Python:list 和 array的对比以及转换时的注意事项

    Python:list 和 array的对比以及转换时的注意事项 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-6-4 ...

  2. MySQL DROP TABLE操作以及 DROP 大表时的注意事项【转】

    删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCAD ...

  3. SSH框架整合jar包时的注意事项

    SSH框架整合jar包时的注意事项: 在将三个框架所需的jar整合到一起后,要看一下有没有相同类型但是版本不同的jar包,如果有的话,需要把低版本的jar包删除掉,否则会报错.我这里整合的时候java ...

  4. No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项

    CHENYILONG Blog No known class method for selector 'setImage:andName:'错误分析.//删除.h与.m文件时的注意事项         ...

  5. 在win7系统上搭建django+oracle 11g时,注意事项

    在win7系统上搭建django+oracle 11g时,注意事项[示例用的是python 2.7]: 重要:python.oracle.oracle client这三个的OS bit 一定一定要相同 ...

  6. MYSQL中GROUP BY不包含所有的非聚合字段时的注意事项

    本文导读:在MYSQL中使用GROUP BY分组时,我们可以select 多个非聚合字段,但是这些字段不在GROUP BY中,这样的SQL查询在SQL SERVER.ORACLE中是不合理的,且会报错 ...

  7. Oracle数据库表设计时的注意事项

    表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计与 ...

  8. Hibernate criteria 混合sql语句多表关联时查询注意事项

    直接进入正题 假设有一个实体类 /** * 产品分类 */ public class ProductType{ @Id private String no;//编号 private String na ...

  9. 【转载】关于RenderTarget的注意事项

    原文:关于RenderTarget的注意事项 1. 设置一个RenderTarget会导致viewport变成跟RenderTarget一样大 2. 反锯齿类型必须跟DepthStencilBuffe ...

随机推荐

  1. iOS--NSNetService和NSNetServiceBrowser(Bonjour网络编程)

    Cocoa 网络框架: Cocoa 网络框架有三层,最底层的是基于 BSD socket库,然后是 Cocoa 中基于 C 的 CFNetwork,最上面一层是 Cocoa 中 Bonjour.通常我 ...

  2. UITableView优化的那些事儿

    作为iOS开发,UITableView可能是平时我们打交道最多的UI控件之一,其重要性不言而喻. 关于TableView,我想最核心的就是UITableViewCell的重用机制了. 简单来说呢就是当 ...

  3. c#打开txt文件并导入到textbox中

    OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Title = " 请选择您要导入的模板文件:&qu ...

  4. c语言指针字符串与字符数组字符串的区别

    #include <stdio.h> int main() { //字符串常量,存放于内存常量区. //常量区区的内存具有缓存机制, //当不同指针指向的常量值相同时, //其实这些指针指 ...

  5. Android MVP模式

    转自http://segmentfault.com/blogs,转载请注明出处Android MVP Pattern Android MVP模式\[1\]也不是什么新鲜的东西了,我在自己的项目里也普遍 ...

  6. 跨域技术-jsonp

    JSONP是JSON with padding 的简写,其有两个部分组成,一个是回调函数,一个是数据,其基本格式如下 function handleResult(result){ alert(resu ...

  7. nginx Engine X静态网页服务器介绍

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. 反向代理(Reverse Proxy)方 ...

  8. 基于jquery实现的文字淡入淡出效果

    这篇文章介绍了jquery实现的文字淡入淡出效果实例,有需要的朋友可以参考一下 复制代码代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...

  9. PHP接口(interface)和抽象类(abstract)

    interface 定义了一个接口类,它里面的方法其子类必须实现.接口是类的一个模板,其子类必须实现接口中定义的所有方法. interface User{     function getHeight ...

  10. 读《CSCW的一种建模与实现方法》

    这篇论文为我们描述了作者构建的一种基于交互.活动.协作三层结构的协同工作模型,并提出了一种采用“镜头焦点”和“自由交互”相结合的协作模型实现方法. 计算机支持的协同工作就是利用计算机技术将时间上分离. ...