参考文档:
什么是Cairngorm?
Cairngorm(中文名:“烟水晶”?)是一个轻量级的Flex RIA程序开发框架,从而使程序可扩展性、可维护性都大大提高,其本身并不是一个完整的企业应用,它只是提供了一个开发骨架,Adobe称之为体系。
Cairngorm流程图
Cairngorm体系
主要包括以下几个部分:
1、VO(Value Object)
IValueObject 和 ValueObject 只是为了提高VO类的可读性,表示该类是一个ValueObject类,其它没有任何实际作用。其可能是为将来而设计的,我们在应用过程中不需要实现任何接口函数。
2、Model
定义了ModelLocator接口,我们只需要实现该接口,把所需要绑定的数据保存在这里。通常我们都采用单例模式(Singleton
Pattern)来实现,并按照项目模块进行分类,避免把整个项目的所有数据都保存在一个类文件中。换句话说,ModelLocator是整个系统的数据
中心。
3、View
有ViewHelper.as 和 ViewLocator.as,在Cairngorm2.2.1版本中已被废除。
4、Commands
定义了ICommand接口,该接口定义了一个唯一需要实现的方法execute(),这其实就是典型的命令模式,我们只要实现此接口,并不需要关心其具体实现方式。
5、Control
含三个基类:CairngormEvent、CairngormEventDispatcher和FrontController。
(1)CairngormEvent:
继承flash.events.Event,其包含一个data成员,用来传递参数数据之用。
(2)CairngormEventDispatcher:
采用单例模式(Singleton Pattern),用来广播用户发起的自定义动作事件。
(3)FrontController:
相当于控制中心,在这里你要做的工作是将事件(CairngormEvent)和命令(Command)之间的映射关系注册在它的
成员commands(Dictionary类型)中,通过下面的类似方法进行注册:
addCommand( GetProductsEvent.EVENT_GET_PRODUCTS, GetProductsCommand );
以后,凡是CairngormEventDispatcher广播出来的事件,首先都会在这里查找,找到对应的event对应的command后,
便执行Command的execute()方法。
FrontController必须要在你的系统中实例化,具体的实例化方法如下:
1
<
mx:Application
xmlns:control
="com.domain.projectname.control.ShopController"
>
2 ...
3 < control:ShopController id ="controller" />
4 ...
5 </ mx:Application >
2 ...
3 < control:ShopController id ="controller" />
4 ...
5 </ mx:Application >
6、Business
IServiceLocator接口:
提供了HTTPService、WebSercice、RemoteObject三种RPC服务。使用时候,将需要的RPC服务登记在该接口中,
以mxml形式采用单例模式(Singleton Pattern)实现IServiceLocator,如下面使用例子:
1
<
cairngorm:ServiceLocator
2 xmlns:mx ="http://www.adobe.com/2006/mxml"
3 xmlns:cairngorm ="http://www.adobe.com/2006/cairngorm" >
4
5 < mx:RemoteObject id ="productService" destination ="productServiceImpl" showBusyCursor ="true" >
6 </ mx:RemoteObject >
7
8 < mx:RemoteObject id ="creditCardService" destination ="creditCardServiceImpl" showBusyCursor ="true" >
9 </ mx:RemoteObject >
10
11 < mx:HTTPService id ="XXXService" url ="URL" showBusyCursor ="true" useProxy ="false" resultFormat ="e4x" >
12 </ mx:HTTPService >
13
14 </ cairngorm:ServiceLocator >
2 xmlns:mx ="http://www.adobe.com/2006/mxml"
3 xmlns:cairngorm ="http://www.adobe.com/2006/cairngorm" >
4
5 < mx:RemoteObject id ="productService" destination ="productServiceImpl" showBusyCursor ="true" >
6 </ mx:RemoteObject >
7
8 < mx:RemoteObject id ="creditCardService" destination ="creditCardServiceImpl" showBusyCursor ="true" >
9 </ mx:RemoteObject >
10
11 < mx:HTTPService id ="XXXService" url ="URL" showBusyCursor ="true" useProxy ="false" resultFormat ="e4x" >
12 </ mx:HTTPService >
13
14 </ cairngorm:ServiceLocator >
需要在系统中实例化,具体的实例化方法如下:
1
<
mx:Application
xmlns:business
="com.adobe.cairngorm.samples.store.business.*"
>
2 ...
3 < business:Services id ="services" />
4 ...
5 </ mx:Application >
2 ...
3 < business:Services id ="services" />
4 ...
5 </ mx:Application >
在某个Delegate类中的使用方法:
1
this.service = ServiceLocator.getInstance().getRemoteObject( "productService" );
之后,就可以进行相关的函数调用了。
后记:
发现《基于Cairngorm的Flex应用程序设计》中文版电子书,顺便提供下载:基于Cairngorm的Flex应用程序设计.pdf (1.00 mb)
相关推荐
Cairngorm是一种轻量级的ActionScript框架,主要用于构建Flex和Adobe AIR应用程序。这个框架是基于模型-视图-控制器(MVC)设计模式,旨在提高应用的可维护性和可扩展性。Cairngorm由Adobe开源社区推出,旨在为开发...
Cairngorm是一个轻量级的MVC(Model-View-Controller)框架,主要用于构建Adobe Flex和ActionScript 3.0应用程序。这个框架是开源的,由Adobe社区维护,旨在帮助开发者实现更有序、可扩展和可维护的代码结构。 在...
Cairngorm是Flex社区中流行的一种轻量级MVC(Model-View-Controller)框架,它提供了一种结构化的方法来组织和管理Flex项目的代码,从而提高开发效率和代码可维护性。 Cairngorm框架的核心组件包括: 1. **模型...
《cairngorm与LCDs结合应用:最小工程解析》 在Adobe Flex开发领域,cairngorm和LiveCycle Data Services (LCDS)是两个重要的框架和工具,它们各自为开发者提供了强大的功能。cairngorm作为一个轻量级的MVC(Model-...
Cairngorm是Flex框架中的一个轻量级MVC(Model-View-Controller)设计模式实现,由Adobe社区成员Stephan J. Schmidt在2005年提出。这个框架旨在提高Flex应用的可维护性和可扩展性,通过分离业务逻辑、用户界面和数据...
Cairngorm是一个轻量级的MVC框架,专门用于Adobe Flex应用程序的开发。这个框架的设计目的是为了提高Flex项目的可维护性和可扩展性,通过分离业务逻辑、视图和控制层,使得代码更加模块化。在Cairngorm中,模型...
**Cairngorm框架详解** Cairngorm框架是Adobe Flex开发中的一个核心MVC(Model-View-Controller)框架,它为构建可扩展、可维护的富互联网应用程序(RIA)提供了一种结构化的方法。Flex是一种基于ActionScript 3.0...
Cairngorm is the lightweight micro-architecture for Rich Internet Applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices ...
2. **Cairngorm**:一种专门为Flex设计的MVC架构模式框架,简化了Flex应用程序的设计和开发过程。 3. **BlazeDS**:由Adobe提供的一款免费的远程消息传递和Web服务产品,用于在Flex或AIR客户端与Java或.NET后端之间...
cairngorm.swc供需要的朋友急用
### Cairngorm框架配置详解 #### 一、Cairngorm框架概述 Cairngorm是一种专门为Adobe Flex设计的模型-视图-控制器(Model-View-Controller, MVC)架构模式框架。它通过清晰地分离应用逻辑,使得开发更加模块化、可...
一个 Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) 本实例为一个 flex 与 java通信项目。前端采用cairngorm框架,后台 采用hibernate+spring 每个部署 步骤,附详细 图文解释。旨在 采用 一种快速开发 ...
前台FLex工程(单独工程Cairngorm)使用Cairngorm框架与后台java工程(FLexToJava)进行数据交互。功能点: ①flex提交表单保存到数据库; ②flex向后台请求,后台返回List集合,flex将集合填充到combox 附带:...
### Cairngorm框架入门知识点详解 #### 一、Cairngorm框架简介 - **定义与背景**:Cairngorm是一种专为Adobe Flex应用程序设计的模型-视图-控制器(MVC)架构模式。它是由Adobe Systems Inc.在2004年推出的一种...
Cairngorm框架是Adobe Flex开发中的一种著名轻量级MVC(Model-View-Controller)框架,由Adobe公司的专业团队设计,旨在提高Flex应用程序的可维护性和可扩展性。这个框架的核心理念是通过分离业务逻辑、用户界面和...
Cairngorm是一个著名的ActionScript 3框架,主要用于构建大型的、可维护的Flex和Adobe AIR应用程序。这个“Cairngorm.swc+Cairngorm+开发文档中文版.rar”套装提供了一个完整的Cairngorm框架,以及相关的中文开发...
**Cairngorm框架详解** Adobe Cairngorm是一款开源的Model-View-Controller(MVC)框架,专门针对Adobe Flex和ActionScript 3.0开发。这个框架为构建可维护和可扩展的富互联网应用程序(RIA)提供了强大的支持。...
**cairngorm3实践源码详解** Cairngorm是Adobe Flex/AIR社区中一个著名的轻量级MVC框架,它为ActionScript 3.0应用程序提供了结构和设计模式,便于开发大型、可维护的项目。这个压缩包包含的是Cairngorm3的实践源码...
Cairngorm.swc文件是Adobe Flex开发中的一个重要组件,它是Cairngorm框架的核心库。Cairngorm是一个轻量级的MVC(模型-视图-控制器)设计模式框架,专门用于构建富互联网应用程序(RIA)。这个SWC文件包含了一系列类...