PureMVC框架知识介绍
PureMvc中各个层次说明:
1. Proxy(代理) 相当于经典MVC中的Model.它将代理Model的所有职权。负责维护和操作应用程序的数据模型。Proxy通常情况下会暴露一组公共API供Controller(command)或View(mediator)调用,以获取、修改或更新程序数据。注意Proxy只可以发送通知,不可以也不应该让它接收通知。
2. Mediator(中介) 对应MVC中的View.它接管了View的所有职权,负责数据内容的视图呈现和捕获用户输入。Mediator管理者View Component, Mediator可以监听View Component发出的Event,它通过这些事件监听捕获用户输入。Mediator可以接收或发送通知,以跟Controller(Command)或其他Mediator交流。Mediator用于Model(Proxy)对外暴露的公共API操控Model(Proxy);
3. Command(命令)。它相当于一个指挥部,负责协调调度PureMVC中的Proxy和Mediator以转发通知。Command以接收或发送通知的方式跟View(Mediator)或其他Command通信,用Model(Proxy)暴露的公共API操控Model(Proxy).
4. Façade(经纪人) 在PureMVC中,M、V、C都是被作为单例封装在Façade类中的,他们对外不可见。在使用PureMVC框架的时候,不需要去创建Model、View和Controller,只需要创建一个Façade的单例,它就会自动创建出M、V、C这三个核心模块,并且为他们建立起通信机制。我们只要调用Façade暴露出来的公共方法就可以启动整个程序,所有的消息流转都在Façade内部完成。
5. View Component 是PureMvc框架中真正的可视元素,例如一个影片剪辑或一个按钮等。它通过事件与Mediator交流。通过向外暴露的API供Mediator操作。
6. Data Object 是PureMVC框架中真正的数据,它可以是一个数值对象、一个集合或是一个数据库。它通过Proxy的构造函数传入Proxy,并被一个名为data的属性引用。
PureMVC的通信并不是采用Flash的EventDispatcher/Event,因为PureMVC可能运行在没有Flash Event和EventDispatcher类的环境中,它的通信是使用观察者模式以一种松耦合的方式来实现的。
registerCommand( STARTUP, StartupCommand );是建立Command与Notification之间的映射。
PureMvc采用Notification(通知)的通信机制,该机制并不是Event(事件)机制的替代品。它们的工作方式有本质上的不同。但这两者相互协作可以提高视图组件的可重用性,甚至,如果设计得当,视图组件可以和PureMVC“脱耦”。
PureMVC框架知识介绍相关推荐
- PureMVC框架的学习笔记
曾经自己做的项目UI层使用简单的UI框架,发现扩展性不强,大型项目多人协同也是个问题,于是学习了比较经典的基于MVC的PureMVC以及基于MVVM的LoxodonFramework,今天记录一下有关 ...
- 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍
游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云 邮箱: happylifemxy@163.com 期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...
- 什么是 PureMVC 框架(提供下载)
PureMVC是在基础的经典模型.视图和控制器上建立的一个轻量级的应用框架,这种开源框架是免费的,它最初是执行的ActionScript 3语言使用的Adobe Flex.Flash和AIR,现在已经 ...
- 【Python进阶】Python进阶专栏、编程与开源框架知识星球上线,等你来follow
大家好,今天我将在有三AI开设新专栏<Python进阶>.在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件.数据的处理,Python各种好用的库如NumPy.Sc ...
- 操作系统:SSH协议知识介绍
今天给大家分享SSH协议相关的知识介绍,希望对大家能有所帮助! 1.SSH协议概念介绍 SSH(Secure Shell)安全外壳协议,是一种建立在应用层基础上的安全协议,通过对密码进行加密传输验证, ...
- OpenGL开发之旅基础知识介绍
最近由于手机项目中需要用到OpenGL ES的知识,所以这段时间正在研究OpenGL的相关知识.因为OpenGL ES是OpenGL的剪裁版本,所以我直接从OpenGL入手,然后再去看OpenGL E ...
- [Unity]PureMVC框架解读(上)
PureMVC框架解读 简易UI框架 1.UI框架核心方法 BaseUI会记录UI的名字(枚举)和Controller用来将UI与具体操作方法解耦 UIManger利用字典记录所有的UI组件,然后提供 ...
- 解读PureMVC框架
作者:吴秦 出处:http://www.cnblogs.com/skynet/ 本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). 参考 ...
- 玩转人工智能(3)常用的大数据框架简单介绍
时光不老,我们不散. 讲大数据框架前,简单的介绍下大数据的文化.信息时代人类社会的进步得益于分享和开源.大数据时代属于信息时代的第三代发展阶段(2001年到2011年可以认为是CT行业的黄金期,200 ...
- PureMVC框架应用简述
一.介绍 PureMVC是基于MVC思想建立的一个轻量级的应用框架,这套框架有多种语言的版本 ActionScript 2 ActionScript 3 C++ C# ColdFusion Dart ...
最新文章
- 科大讯飞:让世界听见AI的声音
- python使用opencv_Python使用OpenCV进行标定
- [转] apache配置rewrite及.htaccess文件
- -----IT男生涯————初始篇
- bower overrides 配置
- 关于Video Renderer和Overlay Mixer
- 计组之存储系统:6、Cache-主存映射方式(全相连映射、直接映射、组相连映射)
- 贝叶斯方法(Bayesian approach) —— 一种概率解释(probabilistic interpretation)
- css 修改文字基准线_css外部样式表怎么写
- xxx系统的6大质量属性战术
- CSS3+HTML5特效5 - 震动的文字
- 五家共井 穷举法_测井曲线代码一览表
- IKBC键盘win键失灵解决方法
- 离别的感受(转小百合)
- 百万调音师—Audition初识
- canvas——往下跳小游戏
- Thread.interrupted()与Thread.currentThread().isInterrupted()区别
- 分布式事务seata整合nacos+openfeign
- 用Photoshop把彩色图片变成线描的图片
- linux 命令执行进度,shell脚本实现“显示命令执行进度”