`

PureMVC学习笔记三:PureMVC小结

阅读更多

 

一、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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics