已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中英语学科教学与学科核心素养融合计划
- 花卉的种植教学设计
- 新人教版一年级数学下册《找规律》教学设计
- 人教版七年级下册英语教学反思
- 2026年四川青衣江职业学院高职单招职业技能考试模拟试卷(原创题)附答案详解
- 2025年靖边职业学院高职单招职业技能考试题库及完整答案详解(网校专用)
- 2027年山东特殊教育职业学院单招职业技能考试模拟试卷及参考答案详解【黄金题型】
- 2027年云南苍山洱海职业学院单招综合素质考试模拟试卷附答案详解【培优】
- 2024年湖南都市职院高职单招职业技能考试模拟试卷附完整答案详解【网校专用】
- 2025年邢台技师学院高职部高职单招职业适应性测试考试题库【历年真题】附答案详解
- 2026年黔东南州凯里市事业单位招考考试(63名)易考易错模拟试题(共500题)试卷后附参考答案
- 电力工程施工现场环境保护措施
- 九江市液化石油气公司九江经营分公司2026年面向社会公开招聘工作人员【13人】笔试参考题库及答案详解
- 2026年6月成都兴城投资集团有限公司成都蓉城城市管理服务有限公司校园招聘11人笔试题库附完整答案详解【必刷】
- 永定河流域投资有限公司招聘笔试题库2026
- 2026国家中铝国际工程股份有限公司纪委工作部(巡察办公室)副主任岗位竞争上岗1人笔试历年难易错考点试卷带答案解析
- 2026中国实验室精密仪器减震降噪整体方案设计规范
- DB11-T 2543-2026 花坛花境植物景观营造与养护技术规程
- 潍坊高密市人民医院招聘考试真题2025
- 2025年甘肃人力资源服务股份有限公司面向社会招聘浙能集团甘肃有限公司古浪黄花滩新能源项目制工作人员笔试历年参考题库附带答案详解
- 2026年企业所得税汇算清缴新政与纳税调整
评论
0/150
提交评论