欢迎来到天天文库
浏览记录
ID:39353811
大小:307.31 KB
页数:19页
时间:2019-07-01
《经典实例CairngormStore的分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第25章经典实例CairngormStore的分析CairngormStore实例是Adobe开发团队提供的一个关于如何应用Cairngorm框架的实例。对于初学Flex开发和Cairngorm框架的人员有很大的帮助。25.1CairngormStore实例简介CairngormStore实例实现的是一个在线商店网站,功能包括浏览货物、购买货物、统计金额等。CairngormStore实例流行很广,有较多版本,最新版本为CairngormStore2.2。本节将简要介绍CairngormStore实例的工作原理及文件组织结构。C25.2如
2、何运行CairngormStore实例CairngormStore实例由于结合Java与Flex技术,所以需要进行环境配置。涉及的配置包括Java运行平台、LiveCycleDataServices服务器、源代码本身的修改等。本小节将详细介绍如何运行CairngormStore实例。25.2.1架设Java运行平台Java运行平台用以编译运行Java程序,可安装J2SE(Java2StandardEdition)1.4.2以上版本。25.2.2架设AMF网关LiveCycleDataServicesLiveCycleDataService
3、s是Adobe公司推出的AMF网关服务器,负责Java数据类型与ActionScript数据类型的相互转换。本书使用的版本为LiveCycleDataServicesES2.5.1。25.2.3编译运行前的准备编译运行CairngormStore实例前需要下载CairngormStore实例、修改配置文件等。25.2.4编译CairngormStore实例在架设Java运行平台、LiveCycleDataServices后,只需要新建工程并编译运行CairngormStore实例即可。25.3CairngormStore实例的代码分析Ca
4、irngormStore实例的代码比较多,这是因为Adobe开发团队提倡的Cairngorm框架本身的结构层次就比较多,再加上作者模块化编程习惯所致。本章将详细分析CairngormStore实例中一些重要的类和文件。读者通过分析这些类和文件,将有助于理解和学习CairngormStore实例。25.3.1使用ProductVO类建立商品数据模型CairngormStore实例实现的是一个在线购物的网站,所以商品是最重要的数据之一。CairngormStore实例中使用ProductVO类建立商品数据模型。25.3.2使用Shopping
5、CartElement类建立购物条目数据模型购物车中有消费者选购的每个商品的购买信息,如商品数量、此商品总金额等信息。CairngormStore实例中使用ShoppingCartElement类建立购物条目数据模型。25.3.3使用ShoppingCart类建立购物车数据模型购物车数据模型包括多个购物条目、总金额等信息。CairngormStore实例中使用ShoppingCart类建立购物车数据模型。25.3.4使用ShopModelLocator类建立应用程序数据模型ShopModelLocator类定义了整个应用程序的数据模型,包
6、括购物车实例、当前选择的商品、货币格式、各种状态变量等。25.3.5使用ShopController类监听事件ShopController类继承Cairngorm框架的FrontController类,用以监听CairngormEvent事件。25.3.6在ServiceLocator类中定义服务CairngormStore实例中使用组件调用Java类。Cairngorm框架中建议在ServiceLocator类中定义各种服务,这样通过ServiceLocator类的getService()方法就可在任何
7、文件中调用服务。ServiceLocator类通常在MXML文件中被定义为组件。25.3.7创建自定义事件CairngormStore实例中定义了不少事件。本节以GetProductsEvent事件为例,介绍如何创建自定义事件。其他事件的定义大同小异。GetProductsEvent类继承于Cairngorm框架的CairngormEvent类,用以表示获得商品数据事件。25.3.8创建自定义命令命令一般对应一个事件,所以两者的取名很相似。例如,GetProductsEvent事件的对应命令为GetProductsCommand。命令类必
8、须实现Cairngorm框架的ICommand接口类,但不一定要实现IResponder接口类。若命令执行后有返回结果或后续动作,那么需要实现Responder接口类。若命令执行后没有返回结果
此文档下载收益归作者所有