博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PureMvc学习笔记
阅读量:6249 次
发布时间:2019-06-22

本文共 1164 字,大约阅读时间需要 3 分钟。

hot3.png

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/

转载于:https://my.oschina.net/oahcfly/blog/470289

你可能感兴趣的文章
margin-left是做边距,是宽度 left是定位盒子左上角左边位置的一个点
查看>>
VBS基础篇 - 数据类型
查看>>
逃离CSDN
查看>>
47、删除vector中重复元素
查看>>
C# 多线程传参数
查看>>
DFS算法的实现
查看>>
初探React与D3的结合-或许是visualization的新突破?
查看>>
tcpdump抓包以及port查看的一些操作
查看>>
VTK GetScalarPointer() and GetScalarComponentAsFloat() not work
查看>>
<Android>从窗口泄漏谈android:configChanges属性
查看>>
MySQL运行原理与基础架构
查看>>
动物产生式识别系统
查看>>
python *args **kwargs
查看>>
Jquery UI - DatePicker 在Dialog中无法自动隐藏的解决思路
查看>>
Docker Swarm 让你事半功倍
查看>>
jQuery选择器之子元素过滤选择器Demo
查看>>
LogBoy运行截图
查看>>
string.Format字符串格式说明
查看>>
关于配置Tomcat的URIEncoding
查看>>
【C语言 C++】简单keywordRegister,Const,Static,Volatile,typedef,Define的理解
查看>>