PureMVC 孙晓申.

Slides:



Advertisements
Similar presentations
模板的使用 教育学 江西教育学院教育系 冯芳 2012 - 10. 第二章 教育学的产生和发展 第一节 教育学的研究对象和任务 第二节 教育学的产生与发展 第三节 学习教育学的意义与方法.
Advertisements

高中新课程思想政治(必 修 1 、 2 )的教学体会 北京师大二附中 李文燕 2008 年西城新课程教师培训的讲稿.
《饲料分析与质量检测技术》 说课 主讲教师:管建慧. 课程名称: 《饲料分析与饲料质量检测技术 》 课程编码:
用 藥 安 全 用 藥 安 全 護 理 師 張 嘉 芬. 前 言 前 言 正確用藥的方法 藥袋上的秘辛 為了減少重大疾病或是醫療處理、 用藥不當的相關事件發生。
阿尔伯特亲王 阿尔伯特亲王纪念碑 维多利亚女王夫妇 维多利亚女王一家 建造水晶宫 水晶宫初建时的照片.
2009/12/211 商務科技管理系 實 務 專 題 報 告 辦桌非難事 學生: 施雅雯 ( ) 張敬芝 ( ) 葉明臻 ( ) 黃怡琅 ( )
教育信息化专题培训 王延觉 2014年5月.
梦想启航 ——大学生活与职业规划专题讲座.
河北保定外国语学校 高三家长会.
HE Fixed Assets Manage System
成语乐园 成语乐园 执教老师:李道梅.
以信息化带动教育现代化,打造教育的“南山质量”
个体税收征管政策讲解 浏阳市地方税务局.
詹天佑.
封面 2015易驾考最新分享: 科目二考试方法秘诀 文章来源:易驾考官网.
基于行业的 企业技术创新信息保障体系研究 刘 华 博士 中国科学技术信息研究所.
北师大版义务教育课程标准实验教科书 七年级上册讲义 第17课 先进的科学技术.
第四讲 1949—1991年的中苏关系 及其经验教训.
第22章 Flex应用程序开发 在本章以前的章节中,花了很大的精力来讲解组件、数据等内容,毕竟大部分的开发者使用Flex都是受因为其强大的表示层功能吸引。本章在前面的基础上,进一步介绍Flex应用程序的开发。与前面的章节相比,本章将从整体上把握如何开发Flex应用,侧重于设计模式问题、安全、性能优化等。
“鼠标加水泥”的百货公司——武汉中百 朱巧巧 陆嘉怡 田泽宇.
合理控制索道游客流量 确保景区可持续发展 云南丽江玉龙雪山索道 陈加林 二0一五年十一月.
千里挑一的“征途” ——浅谈中国“国考”热.
研修4组 学习简报(第3期) 主编:左文玲 2015年2月7日.
潘集小学英语班 学习简报(第5期) 主编:吴婷 2016年2月28日.
立體四子棋 研究成員:謝旻諺、 鄭家鈞 指導老師:林屏森老師.
“三步式”网络学习法 《探究与发现》数学网络学习平台介绍
与领导、下级、同事的 沟通技巧.
潜能宇宙平衡法则 ——启动11.11天地人合新生命工程(分类系统) 凛然智慧(北京)教育咨询有限公司.
失眠的饮食及调理 北京国济中医院
中餐烹調實習Ⅲ 第九章中國菜系介紹 林可薇 製作.
大道至简:自主学习拿高分 丽水市教育教学研究院 朱德飞.
初中思想品德 规范的教学设计与案例分析.
大家都来关注国家安全 南京市江宁中学 傅德柱.
新高考研究介绍 湖北省教育考试院项目研究组.
第十一章:思路与谋篇 教学内容: 1、思路及有关概念; 2、谋篇(结构)的原则; 3、谋篇的方法(层次段落安排, 过度与照应,开头与结尾).
如东中专 学校文化课现状及提升举措的思考
三創產業學程 學群主持人:袁國榮召集人.
个人职业生涯规划.
第3讲 时间管理.
续班指导.
高等教育出版社 工作汇报 化学化工分社 翟怡.
財團法人技專校院入學測驗中心 資訊處黃建銘
******班班级学习简报(第*期) 主编:*** ****年**月**日.
采购控制程序 2008年9月.
单位:十堰离退休职工服务中心 时间:2016年2月1日
中国家电企业如何打造全球化品牌 黄 辉.
四川信托-汇誉10号集合资金信托计划.
《现代大学 英语》 说课程 公共课部 臧朝晖 益阳医学高等专科学校.
保大人还是保小孩 ---产房里的伦理学问题 小组成员 蔡婷 基础医学系 郭灵飞 基础医学系
超星尔雅 tsk.erya100.chaoxing.com 网络通识课程学习指导.
中药学 第十一章 祛风湿药.
形势与政策 2016年上.
幼儿园班务管理实践.
《体育与健康》说课稿 课题:新兴体育舞蹈 —踢踏舞教学 北师大泉州附中 陈玉慈.
中 医 内 科 学 第一章 第一节 感冒.
中共江西省委党史研究室 从井冈山斗争中汲取信念的力量 沈谦芳 (江西省委党史研究室主任,博士、教授)
电气安全技术和管理 ——面对工厂管理者的电气安全管理 主讲人:林仿生.
第四节 存货 一、存货的分类 二、存货核算的主要内容 三、存货的确认条件 四、存货入账价值的确定 五、存货发出的计价 六、原材料
七年级下册《生物学》 神经调节的基本方式 小关镇第一初级中学 张书珺.
家庭教育 ----关爱成长 颜士杰.
2016年陕西省中考 语文试题分析(宝鸡市) 金台区教研室 马莉宁.
第三章 人类社会及其发展规律.
Design Pattern (2) 设计模式(2) Institute of Computer Software 2018/9/21
Design Patterns Lecture 4.
第11章 系统结构与包模型模型.
统计学 第7章 参数估计 教师:张文利.
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
指數、對數函數 數101乙 周文翔 朱哲明 張良聿.
李商隐诗两首 锦 瑟 马 嵬 夕阳无限好,只是尽黄昏。.
Presentation transcript:

PureMVC 孙晓申

MVC MVC并没有明确的定义,从字面上简单的理解为:Model(模型),View(视图)和Controller(控制),简单介绍就是:将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式

Model View Controller

PureMVC是在基于模型、视图和控制器MVC模式建立的一个轻量级的应用框架,这种开源框架是免费的,它最早出现在ActionScript 3语言使用的Adobe Flex、Flash和AIR世界里,现在已经移植到几乎所有主要的发展平台

PureMVC框架的目标很明确,即把程序分为低耦合的三层:Model、View和Controller。  · 在PureMVC实现的经典MVC元设计模式中,这三部分由三个单例模式类管理,分别是Model、View和 Controller。三者合称为核心层或核心角色。  PureMVC中还有另外一个单例模式类——Façade,Façade提供了与核心层通信的唯一接口

Controller保存所有Command的映射。Command类是无状态的,只在需要时才被创建。 View View Model Model Facade Facade Controller保存所有Command的映射。Command类是无状态的,只在需要时才被创建。 负责初始化核心层(Model,View和Controller),并能访问它们的Public方法 View保存对Mediator对象的引用 。由Mediator对象来操作具体的视图组件 Model保存对Proxy对象的引用,Proxy负责操作数据模型(Value Object),与远程服务通信存取数据

pureMVC通信机制 名字 报体 PUREMVC使用观察者模式,各层之间能以一种松耦合的方式进行通信,并且与平台无关 通信机制Notification 任意AS对象 名字 报体

Façade和Proxy只发送Notification Mediators既可以发送也可以接受Notification Notification被映射到Command Command也可以发送Notification 这是一种“发布/订阅”机制,所有的观察者都可以收到相同的通知

Facade Controller Model View

Facade Façade是Model、View、Controller三者的“经纪人”。实际编写代码时不需要导入这三者的类文件,也不用直接使用它们。Façade类已经在构造方法包含了对核心MVC三者单例的构造。 实际应用程序都有一个Façade子类,这个Façade类对象负责初始化Controller(控制器),建立Command与Notification名之间的映射,并执行一个Command注册所有的Model和View

Façade类应当被当成抽象类,永远不被直接实例化。针对具体的应用程序,应具体编写Façade的子类,添加或重写Façade的方法来实现具体的应用 startup方法启动

Command Controller注册侦听每一个Notification,当被通知到时,Controller实例化一个与该Notification对应的Command类的对象。最后,将将Notification作为参数传递给execute方法。 Command无状态

Command Command要实现Icommand接口 SimpleCommand MacroCommand execute (x:Inotification) initializeMacroCommand (x:Inotification) Command与Mediator和Proxy交互,应避免Mediator和Proxy直接交互

Proxy不监听Notification,也永远不会被通知 Proxy封装了数据模型,管理Data Object及对Data Object的访问,不管数据来自哪里,什么类型 Remote Proxy Proxy and Delegate Protection Proxy Virtual Proxy Smart Proxy Proxy不监听Notification,也永远不会被通知

Mediator Mediator是视图组件(ViewComponent)与系统其他部分交互的中介器 基于Flash的应用程序中,Mediator侦听ViewComponent来处理用户动作和Component的数据请求(Event)。Mediator通过发送和接收Notification来与程序其他部分通信

Mediator 在Mediator实例化时,PureMVC会调用Mediator的listNotificationInterests方法查询其关心的Notification,Mediator则在listNotificationInterests方法中以数据形式返回这些Notification名称,当这些Notification被系统其他部分发出时,Mediator的handleNotification函数会被调用,并传进Notification参数。

Mediator 不应让处理Notification的方法负责复杂逻辑。业务逻辑应放在Command中而非在Mediaotr中。

sendNotification (ApplicationFacade.USER_ADD,userForm.user);

Model View Controller facade.registerProxy(new UserProxy()) facade.registerMediator(new UserFormMediator(app.userForm)) facade.registerCommand(ApplicationFacade.USER_ADD,AddUserCommand); View Controller

THANKS