`

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

 

分享到:
评论

相关推荐

    [转] 老板让俺总结的puremvc学习笔记

    在阅读《PureMVC学习笔记.docx》时,你可能会深入了解每个组件的工作原理,以及如何在实践中应用它们。这份文档可能包含了示例代码、最佳实践和常见问题解答,帮助你更好地理解和掌握PureMVC框架。通过学习和实践,...

    PureMVC 中文版

    PureMVC 的核心理念是将应用程序分为三个主要部分:模型(Model)负责处理数据,视图(View)负责用户界面的展示,而控制器(Controller)则作为两者之间的桥梁,处理用户交互和业务逻辑。 在提供的压缩包文件名 ...

    初探PureMVC:使用PHP+MySQL+Flex结合PureMVC框架做了个Flex留言本

    标题中的“初探PureMVC:使用PHP+MySQL+Flex结合PureMVC框架做了个Flex留言本”揭示了本文将探讨如何使用PureMVC框架,结合PHP后端和MySQL数据库,构建一个基于Flex的前端留言本应用。PureMVC是一个轻量级、可扩展的...

    [转] PureMVC心得教程:使用puremvc框架实现的贪吃蛇

    PureMVC是一个轻量级的、跨平台的MVC(模型-视图-控制器)框架,主要用于构建可维护性和扩展性高的应用。本教程将基于PureMVC框架讲解如何实现一个经典的“贪吃蛇”游戏,以此来深入理解PureMVC的核心概念和工作流程...

    PureMVC中文教程

    标题中的“PureMVC中文教程”表明这是一份关于PureMVC框架的中文学习资料,主要面向想要理解和掌握这一框架的开发者。PureMVC是一个开源的、轻量级的、跨平台的MVC(Model-View-Controller)设计模式框架,它提供了...

    PureMVC框架学习总结

    PureMVC是一种遵循模型-视图-控制器(MVC)设计模式的框架,它强调程序的三大核心部分:数据模型(Model)、视图(View)、和控制器(Controller)的分离,以便于多个视图可以共享同一数据模型,而当数据发生变化时...

    可以运行的puremvc的登陆实例.

    PureMVC的核心概念包括三个主要角色:模型(Model)、视图(View)和控制器(Controller)。在这个登录实例中,我们将看到如何运用这些概念来构建一个完整的用户登录流程。 1. **模型(Model)**:在登录场景中,...

    pureMVC资料包

    通过这个资料包,开发者不仅可以获取到PureMVC的实现库,还可以深入学习和理解PureMVC的设计原则和使用方法,从而提升软件开发的效率和质量。无论是初学者还是经验丰富的开发者,都能从中受益,提升自己的编程技能。

    PureMVC学习资料与案例

    学习PureMVC不仅能够提升代码的组织性,还有助于提高开发效率,特别是对于大型项目,其优势更为明显。通过案例实践,你可以更好地理解和应用PureMVC框架,从而构建出高效、可维护的富客户端应用。

    PureMvc实例 PureMvc第一个实例

    在学习这个实例时,你需要了解每个类的作用,查看它们是如何相互协作的,理解PureMvc的核心概念。这将有助于你掌握PureMvc框架,从而更好地构建和维护复杂的Adobe AIR应用程序。记住,实践是最好的老师,尝试修改和...

    PureMVC_study

    1. MVC模式:MVC是一种软件设计模式,将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。模型负责处理数据,视图负责显示数据,而控制器作为模型和视图之间的桥梁,协调它们的交互。...

    pureMVC 源码

    纯MVC(PureMVC)是一个轻量级的框架,用于构建基于模型-视图-控制器(Model-View-Controller)设计模式的应用程序。在AS3.0版本中,PureMVC提供了强大的组织和管理代码的方式,使得开发者可以更有效地进行多层应用...

    Lua实现PureMVC

    这个是一个根据AS3(ActionScript 3) pureMVC而转换过来的lua pureMVC。所有的接口完全跟AS3版本一致。 若是想使用,可以直接查看网上的pureMVC 文档,我并未对任何一个函数改名或者更换参数位置。 注意,这个PureMVC...

    puremvc 最新版本2.0.4源码

    PureMVC是一个开源的、轻量级的框架,专门用于构建多层应用程序。它采用Model-View-Controller(MVC)设计模式,并提供了一种在ActionScript 3中实现这一模式的方法。标题提到的"puremvc最新版本2.0.4源码",意味着...

    PureMVC C#框架

    10. **学习曲线**:PureMVC的简单API和清晰的架构使得开发者能够快速上手,同时也有助于团队成员间的协作和代码审查。 在"puremvc-csharp-standard-framework-master"这个压缩包中,你将找到PureMVC C#标准版的源...

    pureMVC_AS3

    在PureMVC中,这三者都由特定的类来实现: 1. **模型(Model)**:负责处理应用程序的数据和业务逻辑。在PureMVC中,模型通过`Proxy`类来实现,代理负责存储和管理数据,同时也处理与数据相关的业务逻辑。 2. **...

    PureMVC.zip

    学习和使用PureMVC,开发者可以更好地理解和实践MVC模式,提升Unity项目的专业性和可维护性。同时,由于PureMVC具有跨平台的特性,这意味着你在Unity中的代码可以应用于其他支持PureMVC的平台,如Flash、Java等。

    PureMVC总结(附Hello World含PureMVC源码代码和文档)

    在PureMVC中,MVC的三个主要组成部分被抽象为类: 1. **Model**(模型):负责存储和管理应用程序的数据。在PureMVC中,模型由`Proxy`类来实现,它提供了一个注册和访问数据的中央接口。 2. **View**(视图):...

    一个很好的puremvc实例

    4. `libs` 文件夹很可能包含了PureMVC库和其他依赖的第三方库,这些都是实例运行所必需的。 5. `html-template` 文件夹可能包含了与HTML模板相关的文件,如果这个实例涉及到富客户端应用,这些模板可能用于与服务器...

    PureMVC的例子

    描述中提到,“自己写的小例子,希望大家可以看得明白”,意味着这是一个个人创建的项目,旨在帮助学习者理解如何在实际项目中应用PureMVC框架。此外,它特别指出例子使用了BlazeDS,这是一个由Adobe提供的开源...

Global site tag (gtag.js) - Google Analytics