PureMVC框架听也听得多了,但自己一直没有着手去弄过。最近有必要学习它了,于是在各种搜索引擎找了一些资料,现在总算对这个框架有所了解。眼高手低是不行的,所以自己动手去实践一下了。OK!弄一个留言本试试看,然后自己再详细地分析了一下,希望对PureMVC框架有更深的一层了解。我写的不是教程哦,是总结。所以哪里写得不好,请原谅,也恳请您能指出哪里不好。下面只介绍了这个留言本在开始时从服务端获取数据的工作流程,先看下面那个流程图,接着奉上详细的代码以及注释,最后提供源文件下载。
Main.mxml
-
<?xml version="1.0" encoding="utf-8"?>
-
<!--
-
-
初探PureMVC, 学习理论后, 实践最重要. 如果发现一些不恰当的地方, 请到以下地方指出来:
-
-
My Blog : http://wwwflex.iteye.com/
-
My QQ :404441027
-
-
-
谢谢!
-
-
注意: 本例子使用了 PHP + MySQL, 为了测试成功, 请在虚拟环境下测试. 测试前, 请先创建数据库, 需要创建的数据库在 "sql" 文件夹里了.
-
欢迎交流!
-
-
-->
-
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
-
xmlns:UI="cn.riahome.guestbook.puremvc.view.UI.*"
-
creationComplete="facade.startup( this )" fontSize="12">
-
-
<!--
-
-
目前分析途径: Main.mxml
-
完整分析途径: Main.mxml -> ApplicationFacade.as -> StartupCommand.as -> ListTopicProxy.as -> ListPanelMediator.as
-
-
整个pureMVC框架就是从上面那个 startup() 函数开始了, 正如其名, 它启动了整个框架.
-
请按着 Ctrl 键点击这个函数, 进入去看代码.
-
-->
-
-
<mx:Style>
-
.errorTip{
-
fontSize:12;
-
}
-
</mx:Style>
-
-
<mx:Script>
-
<![CDATA[
-
-
import cn.riahome.guestbook.puremvc.ApplicationFacade;
-
-
private var facade:ApplicationFacade = ApplicationFacade.getInstance();
-
-
]]>
-
</mx:Script>
-
-
<UI:ListPanel id="listPanel" x="71" y="10" width="555" height="498"/>
-
-
<UI:InsertPanel id="insertPanel" x="634" y="318" width="400" height="190"/>
-
-
<UI:DetailPanel id="detailPanel" x="634" y="10" width="400" height="300"/>
-
-
</mx:Application>
ApplicationFacade.as
-
package cn.riahome.guestbook.puremvc
-
{
-
import cn.riahome.guestbook.puremvc.controller.StartupCommand;
-
-
import org.puremvc.as3.interfaces.IFacade;
-
import org.puremvc.as3.patterns.facade.Facade;
-
-
public class ApplicationFacade extends Facade implements IFacade
-
{
-
/**
- *
-
* 目前分析途径: Main.mxml -> ApplicationFacade.as
-
* 完整分析途径: Main.mxml -> ApplicationFacade.as -> StartupCommand.as -> ListTopicProxy.as -> ListPanelMediator.as
- *
-
* 来到这里, 有必要说一下 MVC, 即 Model, View, Controller:
- *
-
* Model:
-
* model => 数据! 本人觉得在 pureMVC 里, model 里有两个主角: VO(Value Object) 和 Proxy(代理).
-
* VO 是数据的结构, 存储数据的容器. 一条留言(TopicVO)就有ID值(id), 留言时间(addTime), 昵称(username), 内容(content)
-
* Proxy 是负责获得数据的. 获得数据的方式有很多种, 可以获得本地数据(swf本身里的数据), 也可以从互联网上获得数据, 当然从服务器上获得数据也是常发生的事情.
-
* 而从非本地获得数据可以是: http, remote...
- *
-
* View:
-
* view => 显示! 顾名思义, view 就是显示的东西. 一切要显示的东西都在这里了. 通常, 它也会有两个主角: UI 和 Mediator(中介器)
-
* UI 就是那些要显示的东西, 例如一个显示留言的界面(就是一个component), 一个填写留言的界面(也是一个component)
-
* Mediator 最最最重要的任务是处理有关 UI 的逻辑. 比如说更新 UI 上显示的数据, 或者是提交数据, 又或者是验证用户输入的数据
- *
-
* Controller:
-
* controller => 逻辑! controller, 里头都是一个命令(Command), 一些算法, 一些逻辑就在这里头完成.
-
* Model 的 Proxy 获得数据后, 可能需要把这些数据进行一些处理, 那就交由 Controller 里的那些 Command 处理吧.
-
* Model 的 Proxy 只负责着获得数据, 具体的数据处理交给 Controller 的 Command 吧
-
* 例如: Proxy 获得的数据可能是 变量/值 配对格式的数据, 而我需要的是 xml 格式的, 那就需要实现转化了. 转化过程就交给 command 了.
- *
-
* 总的来说:
-
* View 用于显示东西给用户看的, 显示的数据由 Model 提供. 有时候 Model 获得的数据不一定就合 View 的胃口,
-
* 那么 Model 先把数据交给 Controller 处理好, 处理好后再交给 View 显示出来.
- 大小: 27 KB
分享到:
相关推荐
一步步搭建+PureMVC+Flex+BlazeDS+Spring+Hibernate
jsp+mysql实现注册登录和管理员登陆
MVC 实现原理:M:数据库DAO 实现,V:JSP,C:Servlet
一步一步讲解了PureMVC+Flex+BlazeDS+Spring+Hibernate的搭建,适合初学者参照
Spring+Spring MVC+Spring JDBC+MySql实现简单登录注册
资源名字:基于php+mysql+mvc的网上留言管理系统设计与实现(源码+文档)_php_mysql_网上留言管理系统_bbs.zip 资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 适合...
PureMVC开发框架使用手册,PureMVC包含多个版本,这个文档是Flex版本 的MVC开发框架说明,
跟我一步步搭建 PureMVC+Flex+BlazeDS+Spring+Hibernate
跟我一步步搭建PureMVC+Flex+BlazeDS+Spring+Hibernate
开源测试项目:spring mvc+springsecurity3+ehcache+bootstrap+mysql 内附MySQL表,直接导入就可运行 效果图请移步:http://blog.csdn.net/yangxuan0261/article/details/10053947
spring mvc+spring+hibernate+bootstrap+mysql 考勤及薪酬管理系统
Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
Java用MVC模式+Servlet+Mysql做的论坛
Flex PureMVC Flex BlazeDS Spring Hibernate 整合 里面一些图标是包双击可查看源代码
pureMVC源码实例(flex的mvc框架)
基于JSP+MVC+MySQL+Apache Tomcat的学生管理系统 基于JSP+MVC+MySQL+Apache Tomcat的学生管理系统 基于JSP+MVC+MySQL+Apache Tomcat的学生管理系统 基于JSP+MVC+MySQL+Apache Tomcat的学生管理系统 基于JSP+MVC+...
FLEX4+Gilead+BlazeDS+pureMVC+spring2.5 MVC+hibernate3.3+SLF4J+CXF2.3.0 以及相关插件
flex PureMVC框架实例 flex PureMVC框架