PureMVC,
就如同它的名字是,它是一个纯粹的小巧的MVC框架。许多人都错误地把PureMVC误认为它是一个Flash的MVC框架或者是Flex的MVC框架。
既然它是一个纯框架,那么,它就不仅仅是支持某种特定的语言,它的设计是与语言无关的。去过它的官网的人都看到,它支持了好多种常用的编程语言,下面是它
的官网的一个支持的开发语言的截图:
看到了上面的C#,学ASP.NET的人是不是看到了福音了?平时看到JSP有Struts,Hibernate,Spring等
众多优秀的框架,而.NET的好像还没有,心里真是一百个的不爽,现在我们终于也有MVC框架了。虽然微软现在正在出一个ASP.NET
MVC框架,但是它现在还是Preview5,也不知道什么时候才能出正式版,期待一下吧,微软出的东西应该是很容易使用的。不过,据说这个框架只支
持.NET3.5的版本,如果真是这样的话,这是像我这种还在使用.NET2.0的人来说是一大的遗憾。
还有一点的是,这个框架和我上面提到过的JSP框架不同,它是一个真正的MVC框架,它不像Struts它们那样只支持Web应用
的开发,虽然现在这种开发很流行。它只是一个框架,它是让我们更好的管理我们的程序,使得它易于维护,易于扩展和移植。它只是一个真正的MVC框架,它并
不面向于特定的应用。我们可以使用它开发桌面应用,Web应用等等。同时,它还是一个轻量级的框架,而且还是很轻的那种,它的大小最多也就2,30K而
已。
关于PureMVC的学习教程真的好少,找了好几天,结果还是只找到官网上的那个Best Practices。本人比较愚笨,研究了好几天,把那个文档看了又看,终于才明白了它大概的原理,现在写下来,分享一下心得。
PureMVC框架的目标很明确,即把程序分为低耦合的三层:Model、View和Controller。它们合称为PureMVC框架的核心,由Facade统一管理。关于它的核心层,我们不需要管太多,只需要记得下面几点就可以了:
一、Model保存对Proxy对象的引用,Proxy负责操作数据模型,与远程服务通信存取数据。
二、View保存对Mediator对象的引用。由Mediator对象来操作具体的视图组件(View
Component,例如Flex的DataGrid组件),包括:添加事件监听器,发送或接收Notification ,直接改变视图组件的状态。
三、Controller保存所有Command的映射。Command可以获取Proxy对象并与之交互,通过发送Notification来执行其他的Command。
上面的什么对什么的引用,可以一开始看的时候很难理解,我们暂时不用管它谁对谁的引用的。这些已经由框架为我们管理好了,我们要所要做的是编写具体的Command,Mediator,Proxy。
一、Proxy是负责操作数据模型的,什么是数据模型?数据模型就是数据库,XML等等。我们可以直观地理解为,Proxy是用来
对数据模型进行查询、插入、更新、删除等操作的类。操作完成后,它就会发送Notification,也就是通知,告诉其它两个层我已经完成工作了。
二、Mediator负责操作具体的视图组件,包括:添加事件监听器,发送或接收Notification
,直接改变视图组件的状态。好像抽象了点。具体的说吧,Mediator是负责管理用户界面,与用户进行交互操作的。如:给Button添加事件,当用户
点击按钮时,发送Notification,告诉Controler我们执行什么样的操作。比如这是一个登录的按钮,那么Mediator就会告诉发送通
知给Controler,告诉它要执行登录操作。此外,Mediator还负责直接改变视图的状态。就像,我点击了登录按钮后,Mediator就改变
它,让登录按钮不过用,避免重复操作。它还可以在视图上显示一条信息,告诉我正在执行登录操作。总的来说,Mediator是用来管理视图的。
三、Command可以获取Proxy对象并与之交互,通过发送Notification来执行其他的Command。再拿上面的
登录例子作解释,当点击了登录按钮后,Mediator就会告诉Controler要执行相应的Command了,比如LoginComand。既然是登
录,那么还得要知道用户的信息才行。Command就会发送Notification告知Proxy,我需要某个用户的信息。那么Proxy就会访问数据
库(也可以是别的数据模型),查询对应的用户信息,然后发送Notification通知Command我已经查询好了,差把信息返回给Command进
行验证,与些同时,Mediator也可以接收Proxy发送的Notification,通过视图告诉用户正在验证信息。Command验证了用户信息
后,发送Notification把验证结果返回给Mediatory,告诉用户验证的结果。或者,Command也可以发送Notification执
行其它的Command操作,比如验证通过后,读取用户的详细资料。
上面的Command,Mediator,Proxy的具体实现类都是要自己编写的,工作量还是比较大的。
PureMVC框架的原理大概就是这样子,写得不足的地方还请各位大虾多多指点。
分享到:
相关推荐
通过学习这个实例,开发者可以更好地理解PureMVC框架的工作原理,以及如何在实际项目中应用它来组织代码和实现业务逻辑。这对于提升ActionScript或Flex开发者的技能和提高代码复用性非常有帮助。
纯MVC(PureMVC)是一个轻量级的框架,用于构建基于模型-视图-控制器(Model-View-Controller)设计模式的应用程序。...通过研究这个示例,你可以更好地理解PureMVC的工作原理和如何在实际项目中应用。
通过阅读这些文档,开发者可以学习如何在实际项目中有效地应用PureMVC,理解其工作原理,以及如何与其他设计模式和最佳实践结合。 PureMVC的特性包括: 1. **模块化**:PureMVC提供了一种方式来组织应用程序为多个...
通过使用PureMVC,开发者可以将复杂的业务逻辑和UI分离,提高代码的可测试性。 ### 4. 使用PureMVCExample压缩包 "PureMVCExample"这个压缩包很可能包含了使用PureMVC框架构建的Flex应用示例。通过研究这些示例,...
4. **命令(Command)**:命令模式是PureMVC的核心设计之一,用于分离业务逻辑和事件处理。每个Command类代表一个特定的业务操作,它接收消息并执行相关操作。通过Controller,开发者可以注册和解除命令,使得代码更...
PureMVC是一个开源的、轻量级的框架,专门用于构建多层应用程序。它采用Model-View-Controller(MVC)设计...通过阅读源码,开发者能够更好地理解PureMVC的工作原理,从而提高在ActionScript 3开发中的效率和代码质量。
通过深入研究PureMVC的源码,我们可以了解其内部工作原理,学习如何创建和管理MVC组件,以及如何有效地组织和控制应用程序的流程。这将有助于提升开发大型、复杂项目的技能,尤其是在需要高度组织和可维护性的项目中...
Unity插件之PureMVC,是一种在Unity游戏开发中实现模块化、可复用和可扩展的架构设计模式。PureMVC是Model-View-...同时,理解并熟练掌握PureMVC的原理和用法,对于提升Unity项目的整体架构设计能力大有裨益。
这个“PureMVC简单例子”是为了帮助初学者理解PureMVC框架的基本原理和实际操作流程。在这个例子中,我们将深入探讨各层的职责以及它们之间的通信机制。 首先,我们来了解一下MVC模式。MVC模式是一种软件设计模式,...
在PureMVC中,模型负责管理应用程序的数据和业务逻辑,视图负责用户界面的展示,而控制器则充当模型和视图之间的协调者,处理用户的交互。 1. **模型(Model)**:在PureMVC中,模型由Proxy和Mediator两部分组成。...
PureMVC是一个轻量级的MVC(Model-View-Controller)框架,旨在最小化不同组件之间的耦合。它的设计理念是提高代码的可维护性和可...学习和理解PureMVC的原理,可以帮助开发者构建出更加模块化、易于维护的软件系统。
"PureMVC入门与提高资料"这个压缩包可能包含了各种教程、示例代码和文档,可以帮助初学者快速理解PureMVC的工作原理和用法。通过阅读文档,研究示例,以及实际动手编写PureMVC应用,可以深入掌握这一强大的框架。 ...
1. **PureMVC架构**:了解PureMVC的核心组件,包括Model(模型)、View(视图)和Controller(控制器),以及Mediator(中介者)、Proxy(代理)、Command(命令)等辅助角色。 2. **Flex编程**:使用Flex Builder...
- 在贪吃蛇游戏中,PureMVC帮助我们清晰地划分了逻辑和界面,简化了复杂度。 通过这个教程,你可以深入了解PureMVC的工作原理,同时通过实际的项目练习提高对MVC模式的理解。在实际开发中,PureMVC可以应用于复杂...
纯MVC(PureMVC)是一个轻量级的...通过这个例子,你可以深入了解PureMVC框架的工作原理,以及如何在Java环境中使用它来实现具体的功能。学习并理解这个例子,将有助于提升你在软件开发中的架构设计和代码组织能力。
JavaScript PureMVC Demo是一个基于PureMVC框架的示例项目,旨在展示如何在...此外,PureMVC的跨平台特性使其在其他编程语言中也有广泛的应用,如ActionScript、C#、Java等,因此理解其原理对于多语言开发也大有裨益。
通过阅读和理解源代码,你可以深入学习PureMVC的工作原理,掌握如何在实际项目中有效地使用这个框架。 描述中提到"PureMVC开源框架的源码,非常适合初学者学习",表明PureMVC的设计目标是易于理解和使用,对于初学...
它采用简单而强大的概念,使得开发者能够更高效地组织和管理代码,尤其在处理复杂业务逻辑和用户界面交互时,其优势尤为突出。 ### 1. MVC模式介绍 - **模型(Model)**:负责应用程序的数据管理,存储和更新数据...
2. **PureMVC框架原理:** PureMVC提供了命令、观察者、代理、中介者等模式,帮助实现MVC模式。例如,Commands用于处理业务逻辑,Proxy管理数据,Mediators协调View和Model,Notifications则是通信机制。 3. **C++...
Flex纯MVC(PureMVC)是一个开源的设计模式框架,专为富互联网应用程序(RIA)设计,特别是基于Adobe ...如果你是初学者,可以从简单的例子开始,逐步理解PureMVC的架构和工作原理,然后逐渐将其应用到更复杂的项目中。