




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第22章Cairngorm开发框架 Cairngorm是一种开源框架 由Adobe开发团队设计 使用Cairngorm框架能快速地建立起RIA应用程序 适用于开发中大型RIA应用程序 Cairngorm框架不但能提高开发效率 也有利于团队合作 本章将为读者介绍Cairngorm框架的基础知识 运行原理和机制 使用方法等 22 1Cairngorm简介 Cairngorm框架是开发RIA应用程序的轻量级的框架 可应用于企业级的软件开发 也可结合J2EE或 Net等开发技术 由于Flex4 0技术是由事件驱动的 所以事件处理函数很多 假设一个应用程序中存在大量事件 若每个事件的处理函数都定义于一个MXML文件或AS文件中 代码就会很混乱 不利于修改 Cairngorm框架将每个事件处理封装为一个类 这样 不但代码整洁了 而且也提高了重用性 22 2Flex4 0中如何添加Cairngorm框架 Flex4 0中添加Cairngorm框架的步骤如下所示 1 在浏览器中输入 22 2Flex4 0中如何添加Cairngorm框架 5 选择 Properties 命令 打开工程属性对话框 6 单击 FlexBuildPath 项下 LibraryPath 标签 打开库设置页面 7 单击 AddSWC 按钮 弹出选择SWC文件对话框 8 在文本框中输入 Cairngorm swc 文件路径 单击 OK 按钮 完成添加Cairngorm框架 22 3Cairngorm框架中的基础类 Cairngorm框架的运行机制是以类为基础 因为Cairngorm框架是由ActionScript3 0语言编写的 而ActionScript3 0语言是一种面向对象的语言 本小节将介绍Cairngorm框架中的基础类的作用和定义 大部分基础类不能直接使用 用户需要继承基础类来完成特定的功能 22 3 1类的文件组织结构 Cairngorm框架中的类不是杂乱无章地存放 而是以特定的文件组织结构存放 每个文件夹有特殊的含义 存放不同意义的基础类 business 文件夹中存放有关服务器端的类 commands 方件夹存放命令类 control 文件夹存放前台控制器类 model 文件夹存放应用程序模型类 view 文件夹存放视图类及MXML文件 vo 文件夹存放数据模型类 22 3 2处理正常或异常结果的Responder类 Responder类是一个接口类 用以处理正常或异常结果 Responder类定义了两个抽象的方法 onResult 方法和onFault 方法 onResult 方法用于操作正常时的处理 onFault 方法用于操作异常时的处理 一般在Command类中实现Responder接口类的两个方法 有关Responder接口类的实现将在后续章节中介绍 22 3 3查找服务的ServiceLocator类 ServiceLocator类用于查找服务 如 等 ServiceLocator类可查找不同类型的服务 因此每种类型的服务都有对应的方法 22 3 4处理事件的Command类 Command类继承于ICommand接口类 用于处理某一事件 ICommand类中定义了execute抽象方法 用于执行相应处理 22 3 5创建新事件的CairngormEvent类 CairngormEvent类用于自定义用户事件 包含一个成员变量data和一个构造函数 data变量可存储任何类型的数据 22 3 6管理事件的CairngormEventDispatcher类 CairngormEventDispatcher类用于管理事件 22 3 7监听事件的FrontController类 FrontController类用于监听事件 一旦事件发生 前台控制器找到事件的相应处理命令类执行 22 3 8存储数据模型的ModelLocator类 ModelLoacator类是一种接口类 用于应用程序的数据模型 可将应用程序需要显示的数据及状态变量都定义于ModelLocator类中 ModelLocator类相当于应用程序的 数据库 方便修改与删除 22 3 9辅助操作视图的ViewHelper类 ViewHelper类用于辅助操作视图 使用ViewHelper类可在AS文件中修改其他MXML文件中的视图 ViewHelper类中定义了两个成员变量 view和id view变量为Object类型 存储了使用ViewHelper类的MXML文件的全部组件视图 22 3 10查找视图的ViewLocator类 ViewLocator类用以查找视图 即查找ViewHelper类实例 22 3 11定义数据模型的ValueObject类 ValueObject类继承于IValueObject类 而IValueObject接口类 主要用于定义数据模型 例如 注册信息包括用户名和密码 用户可将用户名和密码封装在ValueObject类中 22 4Cairngorm框架的运行原理 Cairngorm框架以事件为驱动 所以一个完整的运行过程从事件触发开始 运行过程中的每一项处理都与基础类息息相关 22 4 1自定义事件 CairngormEvent类 CairngormEvent类用于自定义用户事件 事件状态标识由用户定义的字符串 能唯一表示此事件 由于CairngormEvent类中只有一个成员变量data 所以只能携带一个数据 若用户需要携带多个数据 可继承CairngormEvent类 并新增成员变量 22 4 2自定义命令 Command类 用户自定义命令实现Command类中的excute 方法 excute 方法执行相应操作代码 22 4 3前台控制器 FrontController类 监听事件 FrontController类用以监听事件 其原理是判断相应的事件标识是否存在 使用addCommand 方法可监听事件 并为事件添加对应的处理函数 习惯上FrontController类中还将定义各种CairngormEvent事件的标识字符串 22 4 4在服务定位器 ServiceLocator类 中寻找服务 ServiceLocator类用于存储和查找服务 22 4 5在模型定位器 ModelLocator类 中存取数据 ModelLocator类中存放应用程序的全部数据及状态 这样做的好处是管理方便 操作统一 以下代码定义了一个模型定位器FlvModel 22 4 6使用ViewHelper类修改视图 使用ViewHelper类修改视图的步骤如下所示 1 自定义类继承ViewHelper类 2 将ViewHelper类作为组件添加至MXML文件中 3 调用自定义ViewHelper类中的方法修改视图 22 4 7使用ValueObject类自定义数据模型 ValueObject类用以自定义数据模型 22 5Cairngorm实例 本节以一个实例介绍如何使用Cairngorm框架开发应用程序 实例的具体步骤如下 1 新建Flex工程 2 工程中添加Cairngorm框架 即 Cairngorm swc 文件 3 编写 ContactVO as 文件 4 编写 AddContact as 文件 5 编写 ModelLocator as 文件 6 编写 AddContactControl as 文件 22 5Cairngorm实例 7 编写 AddContactEvent as 文件 8 编写 AddContactCommand as 文件 9 编写 AddContactDelegate as 文件 10 编写 AddContactPanel mxml 文件 AddContactPanel组件是自定义的组件 确定了应用程序的主要外观 11 编写 ContactThumbnail mxml 文件 12 编写 Cairngorm实例 mxml 文件 13 编写 style css 文件 14 按下C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询服务方案-售后服务
- 中继泵站运行工成本控制考核试卷及答案
- 山西企业咨询顾问方案
- 西式快餐管理咨询方案
- 户外拓展破冰活动策划方案
- 生产主管年终总结报告
- 咨询客服绩效方案
- 房地产营销活动方案策划
- 转型互联网营销外包方案
- 建筑垃圾保护方案设计要求
- 2025四川蜀道养护集团有限公司招聘15人考试参考题库及答案解析
- 2025年秋季上饶银行招聘考试参考题库及答案解析
- 开发基于多模态大模型的CST2差异化评课模型及其应用案例
- 人教版3到6年级单词表打印版(小学必背单词3000打印版)
- MOOC 研究生学术规范与学术诚信-南京大学 中国大学慕课答案
- 哈工大单片机张毅刚课件 第3章
- 净化实验室施工组织方案
- 110KV变电站负荷及短路电流计算及电气设备的选择及校验
- 2020年烟草行业长沙卷烟厂土地平整工程
- 骨科内植物与器械课件
- 关爱女性盆底健康-盆底康复.ppt
评论
0/150
提交评论