欢迎来到天天文库
浏览记录
ID:6120965
大小:260.15 KB
页数:16页
时间:2018-01-03
《基于 cairngorm mvc 框架的 flex 程序设计与开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于CairngormMVC框架的Flex程序设计与开发翟峰,开发工程师,IBM吴镝,IBM实习生,IBM简介:随着富互联网应用程序(RichInternetApplication)的发展,Flex也得到了迅速的发展,然后随着Flex应用的项目的增大,传统的Flex开发已经显得层次不清,维护困难,在这样背景下,基于Flex的MVC框架Cairngorm应运而生。本文将介绍系统的讲解Cairngorm,通过本教程的学习,您可以全面掌握使用Cairngorm框架进行Web开发。本文的标签:xml,体系
2、架构标记本文!发布日期:2010年8月16日级别:中级建议:0(添加评论)平均分(共0个评分)Cairngorm框架简介Cairngorm是一种MVC框架,它可以帮助开发者很好的组织代码,分层,从而使得代码更加清晰易懂,可以使设计者,UI组件开发者,数据服务开发者并行工作,从而提高开发效率。Cairngorm由五大组件构成,分别作为存放数据的仓库(ModelLocator),存放服务的仓库(ServiceLocator),处理业务逻辑的命令(Command),自定义的用于触发命令执行的事件(Eve
3、nt),用于把事件映射到命令的前端控制器(FrontController)。它应用了代理模式,命令模式,观察者和单例等几种设计模式。回页首Cairngorm详解ModelLocator:用于保存应用程序的数据,与HttpSession类似,区别主要在于数据是保存客户端,实现时将ModelLocator实现为单例,所有的应用数据都存储在唯一的一个ModelLocator对象中。CairngormEvent:这个类由Cairngorm框架提供,位于包com.adobe.cairngorm.contro
4、l,所有的自定义的事件类都必须继承CairngormEvent,在自定义事件类中定义VO的引用,可以通过它来存储从View层传递过来的VO。ICommand:命令接口,位于包com.adobe.cairngorm.commands,每个命令类需要实现ICommand接口,命令类用于处理业务逻辑,通过实现其execute方法来实现业务逻辑。execute方法以事件作为参数,通过传入的事件中包含的详细信息来进行相应的处理。FrontController:前端控制器,位于包com.adobe.cairn
5、gorm.control,自定义的前端控制器必须继承FrontController,它主要用于完成CairngormEvent和ICommand之间的映射。CairngormEventDispatcher:CairngormEvent的分发器,位于包com.adobe.cairngorm.controlDelegate:服务代理,一般定义一个Delegate类,持有ServiceLocator的引用,Delegate类是唯一的了解Service有关的类。回页首系统处理流程图1.使用Cairngor
6、m后系统处理流程在基于Cairngorm的应用程序中,应用程序的数据都放在一个仓库中,这个仓库就是ModelLocator,整个应用程序只生成维护一个ModelLocator的实例,在需要数据的组件中引用这个实例。比如视图需要数据进行渲染,那么视图就维护ModelLocator实例的引用,在视图中触发事件后,事件通过前端控制器映射为一个对应的命令,然后命令通过调用服务代理,执行相应的逻辑,命令通过更新自身维护的ModelLocator的引用,因为ModelLocator只有一个,这样就相当于更新了
7、视图。回页首安装配置开发环境开始前先让我们来搭建我们的开发环境:下载并安装JDK(本文使用版本为SunJDK6)下载并解压Eclipse(本文使用版本为EclipseGanymedeJ2EESR2版本)下载并安装FB3_WWEJ_Plugin.exe(FlexBuilder4plug-inforeclipse)下载并安装Tomcat6.x安装FB3_WWEJ_Plugin.exe过程中选中eclipse安装目录。回页首一个入门的例子前面我们讲解了Cairngorm的基本概念和一些主要的角色和类,下
8、面我用一个简单的员工管理系统的例子来进一步的理解开发过程。·下载并解压Cairngorm2.2解压出来就是一个Cairngorm.swc文件·新建FlexProject图2.新建项目Next配置服务器图3.配置服务器点击Finish.将Cairngorm.swc拷贝到项目的flex_libs目录下。在flex_src目录下建好包结构图4.建立包结构每个包中存放的内容一目了然·定义视图1在views包中新建一个MXMLComponent,基于Panel,取名为PeopleInfo.m
此文档下载收益归作者所有