文档章节

PureMvc学习笔记

flyoahc
 flyoahc
发布于 2015/06/24 16:13
字数 515
阅读 439
收藏 0

PureMvc学习笔记:


Mediator

->对应View层,内部绑定View对象,由 Mediator 对象来操作具体的视图组件。(它的作用还包括:添加事件监听器,发送或接收 Notification,直接改变视图组件的状态。通过这样,就可以把视图和控制它的逻辑分离开来。)

if (notification.getName().equals(CMDConstants.NOTI_LOGIN_FAILED)) {

System.out.println("view更新,登陆失败");

} else if (notification.getName().equals(CMDConstants.NOTI_LOGIN_SUCCESS)) {

System.out.println("view更新,登陆成功");

} else {

loginView.clickLoginButton(this);

}


Proxy

->负责操作数据模型,与远程服务通信存取数据

内部可封装一些处理数据或者验证数据的方法。

通过发送Notification,通知Mediator更新界面。


Command

->只在需要时才被创建。Command 可以获取 Proxy 对象并与之交互,发送 Notification,执行其他的 Command。经常用于复杂的或系统范围的操作,如应用程序的“启动”和“关闭”。应用程序的业务逻辑应该在这里实现。


在View层,用户某个操作需要更新界面,此时可通过sendNotification(CMDConstants.CMD_LOGIN);执行某个指令。

在指令中,可以获取已经注册Proxy进行相应的操作。同时也可以在指令中发送通知给View层进行更新界面。


构建过程:

新建自己的MyFacade继承自Facade。重写相关初始化方法:

initializeController

initializeModel

initializeView

自行注册对应的对象。

自行设定启动指令类,通过MyFacade发送通知来执行。

针对View新建对于的Mediator。


个人总结:

Commond和Modiator都可以接收Notification,而且发送的方法都是sendNotification。这个地方个人觉得应该区分开来。容易混淆。准备在其源码上重新优化下,后期放出修改后的代码。


参考文章:

  1. http://blog.csdn.net/sutaizi/article/details/6588004

  2. http://www.ibm.com/developerworks/cn/java/j-lo-puremvc/

© 著作权归作者所有

共有 人打赏支持
flyoahc
粉丝 12
博文 37
码字总数 15728
作品 0
南京
程序员
puremvc c++ simple demo

(1)puremvc 流程简述: core: model,view,control patterns:Mediator,Proxy,Observer,Facade,Command 核心和模型的纽带:Mediator (2)使用一个简单的登陆窗口模拟puremvc的使用(vs200...

YKIT
2014/02/09
0
0
FLEX上使用puremvc的困惑(吐槽)

终于被领导逼着使用puremvc了。我很清楚它的问题所在。 1.通讯机制拙劣:模块间通讯太繁琐,无法定义强类型约束的接口,性能差……2.包装层太多3.用了太多的单例5.代码冗余大6.不好调试 还有...

崔钢
2013/05/21
0
1
ROBOTLEGS轻量级AS3框架

Robotlegs是一个用来开发Flash,Flex和AIR应用的纯AS3微架构(框架)。Robotlegs专注于将应用程序各层排布在一起并提供它们相互通讯的机制。Robotlegs试图通过提供一种解决常见开发问题的经过时...

leesama
2014/08/13
0
0
ActionScript最新3D引擎项目(转载)

3D引擎 注:对于3D引擎,渲染的效率和支持的渲染功能是很重要的,然而 在短短的文章中根本不可能做详细的介绍,特别是截图,很可能具有误导性,要了解更多应用案例以及技术演示的图片,请点击...

提广乾
2013/11/27
0
0
ActionScript快速开发框架--WeeMVC

WeeMVC 是一种微型、简洁的ActionScript快速开发框架,主要特色:超级轻便,超级简洁。 虽然在ActionScript?领域优秀的框架数不胜数,最常见的如 PureMVC 、Cairngorm 等等,都提供了接近完美...

匿名
2010/01/05
2.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

麒麟AI首席科学家现世

8月31日,华为发布了新一代顶级人工智能手机芯片麒麟980,成为全球首款7nm工艺手机芯片,AI方面也实现飞跃,支持人脸识别、物体识别、物体检测、图像分割、智能翻译等。 虽然如今人人都在热议...

问题终结者
昨天
1
0
告警系统主脚本、告警系统配置文件、告警系统监控项目

告警系统主脚本 main.sh内容 #!/bin/bash#Written by aming.# 是否发送邮件的开关export send=1# 过滤ip地址export addr=`/sbin/ifconfig |grep -A1 "ens33: "|awk '/inet/ {pr...

芬野de博客
昨天
2
0
MySQL autocommit探究

-- sessionA:tx_isolation=REPEATABLE-READmysql> select connection_id();+-----------------+| connection_id() |+-----------------+| 28 |+-----------------+......

安小乐
昨天
7
0
c++多线程锁 Mutex  自动判断死锁

c++多线程锁可以使用absl::Mutex std::mutex这两种,下面是demo代码。 使用absl:Mutex的时候打印: [mutex.cc : 1338] RAW: Cycle: [mutex.cc : 1352] RAW: mutex@0x683b68 stack: @ 0x43856......

青黑
昨天
3
0
Blockathon2018(成都站)比赛落幕,留给我们这些区块链应用思考

9月14日,HiBlock区块链社区主办的第二届Blockathon在成都菁融国际广场成功举行,30名参赛者分为5支队伍在48小时内完成区块链项目的创意、开发及路演,经过紧张的开发及现场评选,最终币托(...

HiBlock
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部