一、PureMVC的优势
1. 学习和使用优势
* PureMVC的代码规模适中。
* PureMVC的一些类可以开箱即用,不需扩展。
* PureMVC允许用实现继承和接口继承进行扩展。
* PureMVC内置发布-订阅式的通知机制。
* 支持一些经典的设计模式,易于理解。
2. 对应用开发的影响力
* 把所有代码分离成模型-视图-控制器三个层次。
* 方便把整体框架构造成为一种稳定的状态。
* 弥补快速开发所缺少的扩展性和可维护性。
* 明确各个类的角色、职责和协作。
* 使新旧框架组件可以共存。
* 强调可重用。
* 特别适合网络通信中的客户端模型。
3. 参考自PureMVC官方文档的pdf
http://puremvc.org/content/view/98/189/
二、PureMVC的内部角色
* 表面,用于缓存MVC管理器,提供全局的单实例方法。
* 模型,用于缓存带名称的代理,是无图形界面的带状态组件管理器。
* 视图,用于缓存中介,是有图形界面和交互动作的带状态组件管理器。
* 控制器,用于缓存带名称映射的命令,是无图形界面的无状态组件管理器。
* 代理,用于封装和访问本地和远程的长生命业务数据,或者进行远程调用。
* 中介,用于组装用户界面。
* 命令,使用名称指定要传递的短生命通知对象。
* 通知,底层的命令实现。
说明:
1. 大部分开发者都习惯把这些角色集中在同一个类中。
例如,耦合视图和它私有的模型有助于代码修改。
如果使用PureMVC可能会让这些代码失去私密性和关联性,
不方便调试和修改。
2. 命令和中介之间存在多对多映射关系。
3. 通知可以用命令、中介和代理发送,但一般只能用中介来接收。
三、PureMVC在Flex应用开发中的作用
1. 客户端和服务器通信:
中介通过值对象和MXML界面绑定,而代理通过值对象与服务器程序绑定,
中介和代理被注册到表面对象,表面对象通过用命令协调中介和代理。
所以,MXML界面和服务器程序被间接连通。
2. 动作监听和界面修改:
MXML的用户动作监听句柄中,通常用单实例的表面发送通知给中介。
中介在handleNotification中接收到MXML、其它中介、代理发送过来的通知后,
改变MXML绑定的值对象,从而修改界面。
3. 执行业务逻辑:
中介在接收到通知后需要根据需求选择处理方案。
* 如果通知的处理需要异步的远程处理,例如关键的业务数据处理,
一般是从全局的表面中取出相关的代理对象,然后执行远程调用。
执行远程调用后,用通知重新唤醒中介,把结果反映到用户界面上。
* 如果通知的处理可以在本地快速完成,
则直接在handleNotification中执行业务逻辑,
完成后修改MXML绑定的值对象,把结果反映到用户界面上。
4. 参考例子:
见http://www.dehats.com/drupal/?q=node/26
相关推荐
PureMVC学习资料与案例PureMVC学习资料与案例PureMVC学习资料与案例PureMVC学习资料与案例
NULL 博文链接:https://as3.iteye.com/blog/995034
介绍了PureMVC框架结构以及PureMVC下消息发送机制,有助于更好的了解和学习PureMVC架构
PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章PureMVC教程,是学习PureMVC框架的好文章,PureMVC教程,是学习PureMVC框架的好文章,PureMVC...
PureMVC五子棋游戏源码,学习PureMVC
打开PureMVC_AS3_2_0_4文件夹,您会发现里面有三个文件夹: asdoc :对应于API的文档,它的首页是PureMVC_AS3_2_0_4/asdoc/index.html src:对应于puremvc的的源代码, PureMVC_AS3_2_0_4/src/org/puremvc/as3 / … ...
pureMVC框架 pureMVC源码 学习pureMVC的知识
用PureMvc开发Air项目,完整工程实例。 学PureMvc的第一个完整例子
NULL 博文链接:https://as3.iteye.com/blog/903252
这是一个使用C#开发语言的基于PureMVC框架的Web登录Demo,是网上绝无仅有的实例。 本文以初学者的视角,详细地介绍PureMVC在ASP.NET的应用。 PureMVC不仅仅是Flex的MVC框架哦,而且它非常的小巧,还等什么呢,快来...
按照puremvc官方网站教程做的登陆实例,在flexBuilder3上运行过.绝对好用. 供大家学习参考.
flex PureMVC框架实例 flex PureMVC框架
pureMVC项目包 导入的包 pureMVC项目包pureMVC项目包
这个是一个根据AS3(ActionScript 3) pureMVC而转换过来的lua pureMVC。所有的接口完全跟AS3版本一致。 若是想使用,可以直接查看网上的pureMVC 文档,我并未对任何一个函数改名或者更换参数位置。 注意,这个PureMVC...
PureMVC架构---简单登陆 适合初学者
这是一个MVC例子,简单的接受了MVC的实现过程。
pureMVC框架dll文件,
puremvc 讲解puremvc的源码
适合Unity的pureMVC,做UI和逻辑分成。比较适合的工具
puremvc .net 2.0 /vs2010 使用PUREMVC