2019独角兽企业重金招聘Python工程师标准>>>

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

PureMvc学习笔记相关推荐

  1. Unity3D 学习笔记4 —— UGUI+uLua游戏框架

    Unity3D 学习笔记4 -- UGUI+uLua游戏框架 使用到的资料下载地址以及基础知识 框架讲解 拓展热更过程 在这里我们使用的是uLua/cstolua技术空间所以提供的UGUI+uLua的 ...

  2. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  3. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  5. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  6. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  7. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  8. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  9. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

最新文章

  1. linux shell 把一个文件的前n行 拷贝到另一个文件中
  2. 常用深度学习模型介绍(1)
  3. 综合布线系统入门及应用(一)
  4. dojo省份地市级联之地市Dao接口类(四)
  5. win7 虚拟机安装
  6. 索尼笔记本触摸板双指无效
  7. linux云服务器,Tomcat服务器常见 The value for the useBean class attribute is invalid 错误
  8. Windows下查看进程及结束进程命令
  9. oracle报无效数字解决笔记
  10. DFS.01-寻路问题
  11. Hyperledger/Quorum等区块链技术综述
  12. html怎么让页脚下方的空白页,Word中后面多出来带页眉页脚的空白页怎么删除
  13. 新浪微博一键分享手机版JS代码
  14. 基于stm32f103的红外对管(TCRT5000)接收发送
  15. 微信公众平台SDK.net版本(weixinSDK.net)
  16. EndNote丨关于英文文献多作者 et al 后面出现两个点 et al. .的问题
  17. SMART S7-200PLC控制步进电机转动 step7开发环境 步进电机选择
  18. 关于配置好虚拟主机后localhost不能访问的问题
  19. 全面Java程序线上故障排查
  20. 利用RSoft的BPM算法对光波导和简单光波导器件进行仿真

热门文章

  1. oracle正则匹配全部,sql – 返回Oracle中正则表达式的所有匹配项
  2. 【计算机网络】数据链路相关技术
  3. Linux系统编程---14(回收子线程,回收多个子线程,线程分离,杀死线程)
  4. c++中STL实现演讲比赛流程
  5. 【kali】kali换了root权限后无法打开firefox浏览器
  6. C++智能指针(三)总结
  7. Python变量类型
  8. read和write函数的使用
  9. 【微信小程序】使用Hystrix的插件机制
  10. Android架构师谈:View-Pager-性能优化之-无限循环