- 浏览: 110869 次
最新评论
-
u012273744:
很不错
MySQL存储过程学习 -
neusoft_jerry:
neusoft_jerry 写道上传代码要负责,起码自己运行一 ...
Flex消息例子(Producer和Consumer) -
neusoft_jerry:
上传代码要负责,起码自己运行一下,明显错误就上传,是对他人的不 ...
Flex消息例子(Producer和Consumer) -
jd2bs:
介绍挺详细的 改天试试看
MySQL存储过程学习
Cairngorm是由adobe公司推出的一个轻量级的Flex RIA程序开发框架。中文名:“烟水晶” 。目的是提高程序的可扩展性、可维护性,其本身并不
是一个完整的企业应用,它只是提供了一个开发骨架,Adobe称之为体系。 Cairngorm主要就是对开发Flex应用程序应用了一系列的设计模式,从而使开
发出来Flex程序可扩展性,可维护性都大大提高。代价就是异常繁琐的文件书写。往往为了完成一个简单的功能需要修改n个文件。所以小项目不建议使
用。
Cairngorm也意识到到这个问题,因此也升级为Cairngorm3.0。这次cairngorm的升级,改动非常大,比flex3升级到flex4的改动大的多。不仅仅是个
mvc框架了,应该算是一个工具包,提供了很多个swc,通过parsley这个ioc框架纳入了很多种的工具包,总得来讲,cairngorm3已经跟java的spring框架
类似了。
核心骨架(体系)
1. Business(业务逻辑部分)
2. Command(命令部分)
3. Control(控制部分)
4. Model(数据模型)
5. View(界面视图)
6. VO(ValueObject)
工作流程:
其工作流程很清晰:
1.Front Controller Listens for User Gestures
前端的控件监听用户的行为。注意它只是监听,并不会做任何反应。
2.Commands Do All the Work
控件监听以后调用Commands来做相应的事情,Command做了所有工作。
3.Delegate Server-Side Business Logic to Business Delegates
把服务器端的业务逻辑委托到 Bussiness Delegates中。因为很多时候command需要获得服务器端数据,所以这样一来它可以直接调用Bussiness
Delegates而不用关注如何连接数据的细节,实现了信息隐藏。
4.Business Delegate Finds Services with the Service Locator
Command调用Business Delegate 后,Business Delegate 通过Service Locator来找到相应的RPC services,然后执行实现从服务器端取数据。
5.Transfer Data as Value Objects
把传输过来的数据存储为Value Objects。这点大家应该都很熟悉,比如想要查询一个公告,就必定创建一个公告类,来存储每一个公告的标题
等信息。
6.Store State in the Model Locator and Let Model Notify View
在Model Locator 保存状态并且能使Model检测到View的变化。这样一来用户操作就能直接影响Model,比如添加物品到购物车,Model中的购物
商品就会自动增加。
在这里我们将对Cairngorm框架中的各个部分进行一个简单的介绍。
Control部分
Control中有3个基类:CairngormEvent, CairngormEventDispatcher和FrontController
CairngormEvent继承与flash.event.Event, 他包含一个data成员,用来传递参数数据之用。
CairngormEventDispatcher是一个单例类(singleton),用来广播用户发起的动作类事件 (CairngormEvent),主要的调用方法是
CairngormEventDispatcher.getInstance().dispatchEvent().
FrontControllers可以说是控制中心。在这里你要做的工作是将事件(CairngormEvent)和命令(Command)之间的映射关系注册在它的成员中( 该
成员类型是Dictionary),通过下面的类似方法进行注册。 addCommand(OrderRequestEvent.EVENT_GETUSERORDERREQUESTS, GetUserOrderRequests);
如此一来,凡是CairgormEventDispatcher广播出来的事件都会在这里进行查找,找到某个event对应的command,然后会执行command的execute()方法。
Command部分
在Command中定义了ICommand接口,在2.0中叫Command,其实没有区别,只不过是名字上的修改更能体现接口的意思罢了。在 ICommand接口中定
义了一个唯一需要实现的方法execute(),这其实就是典型的命令模式,我们要做的就是实现此接口,并不需要关心命令模式的具体实现方式。
Model部分
在Model中定义了接口ModelLocator,我们只需要实现该接口,并把所有需要办绑定的数据放在这里就可以了。一般我们都采用单例模式
(Singleton)来实现,而且根据项目模块进行分类,而不是一股脑儿的把所有数据都扔到这里了事。可以说ModelLocator是系统的数据中心。
Business部分
在Business中定义了接口IServiceLocator,另外的Responder已经在2.1中被mx.rpc.IResponder代替了。我们需要将所有的RPC服务登记在该接口中,采用mxml的形式来单例实现IServiceLocator,如下面的例子所示:
<cairngorm:ServiceLocator p
xmlns:cairngorm="com.adobe.cairngorm.business.*">
<MX:HTTPSERVICE url="broker/heartbeat.action" p <>
result="event.token.resultHandler( event )"
fault="event.token.faultHandler( event )"
showBusyCursor="false"
useProxy="false"
resultFormat="e4x"/>
并且需要在系统中实例化一个ServiceLocator,如下面所示写在Application中:
使用方法:
在某个Delegate中通过下面的方式得到该service的实例,之后就可以进行函数调用了:
this.service = ServiceLocator.getInstance().getRemoteObject( "orderManagement" );
View 部分
再来看看View中都有什么。View中有ViewHelper和ViewLocator。
ViewLocator是一个单例类,用于统一管理和获取ViewHelper。类似于ServiceLocator,和FrontController,在这里可以注册多个ViewHelper,并通过关键字直接找到需要的ViewHelper实例。
ViewHelper是具体用来操作某个视图的类,它是通过其成员变量view来引用到具体的视图,当它被实例化的时候就会在ViewLocator中注册一个ViewHelper
如:
将实例化一个ViewHelper,并在ViewLocator中注册一个名为listViewHelper的ViewHelper实例,通过该id可以得到其实例的引用,如:
var listViewHelper:ViewHelper = (ViewHelper )ViewLocator.getInstance().getViewHelper("listViewHelper")
VO 部分
最后提一下vo,其实IValueObject和ValueObject没有任何实际作用,唯一的就是提高vo类的可读性,表示该类是一个ValueObject,可能是为将来设计用的。我们不需要实现任何接口函数。
发表评论
-
Flex4 ButtonBar设置图标及获取选中对象
2012-07-06 16:56 2857不多说,直接上代码 <?xml version ... -
ActionScript的arguments 对象和...(rest) 参数
2012-06-21 17:34 1132arguments 对象 在将参数传递 ... -
ActionScript循环
2012-06-20 11:11 856循环语句允 ... -
ActionScript常量
2012-06-20 10:53 975ActionScript 3.0 支持 ... -
ActionScript3 数据类型
2012-06-20 10:23 882ActionScript 基元数据类型包括 B ... -
ActionScript动态类
2012-06-20 10:01 1037“动态”类定 ... -
ActionScript中的is类型和as类型
2012-06-20 09:49 1213is 运算符 is 运算符是 ActionScr ... -
Flex tree 定位
2012-06-08 15:44 14611. 数据源为Object // tree上选择到网元 ... -
ArrayList转XML
2012-06-08 14:21 2177//ArrayList转换为xml var treedata ... -
Flex自定义Tree图标
2012-06-08 11:29 18361.数据源为xml <?xml version=&qu ... -
Flex特效
2012-06-06 10:51 1211这里面有许多特效很酷,希望对大家有帮助。 1.旋转 效果:ht ... -
Flex消息例子(Producer和Consumer)
2012-05-30 17:02 7510不多说,直接上代码,关于Flex消息的信息详见Fl ... -
Blazeds集成Flex和Java
2012-05-28 11:05 2002BlazeDS中包含了A ... -
flex消息服务
2012-05-25 13:54 29201, 初识消息服务: 相关概念: 消息(messa ... -
Flex效果
2012-04-18 16:50 9791.旋转 效果:http://www.alex-uhlmann ... -
Flex4 <s:DataGrid> 的用法
2012-04-11 15:01 16704Flex4中的s:DataGrid与Flex3的mx:Data ... -
Flex多选框的实现
2012-04-06 15:41 36651. 现在界面上放一个容器,如BorderContainer ... -
关于Flash/Flex如何引用父容器,根容器
2012-04-06 14:26 2660flash 中主要是 parent,r ... -
Flex tree 节点递归查找,并且选择该节点
2012-04-06 13:50 3134private function treeLoca ... -
Flex Tree节点的展开与收缩
2012-04-06 13:40 4564<?xml version="1.0&q ...
相关推荐
### Cairngorm框架配置详解 #### 一、Cairngorm框架概述 Cairngorm是一种专门为Adobe Flex设计的模型-视图-控制器(Model-View-Controller, MVC)架构模式框架。它通过清晰地分离应用逻辑,使得开发更加模块化、可...
**Cairngorm框架详解** Adobe Cairngorm是一款开源的Model-View-Controller(MVC)框架,专门针对Adobe Flex和ActionScript 3.0开发。这个框架为构建可维护和可扩展的富互联网应用程序(RIA)提供了强大的支持。...
在Cairngorm框架中,主要包含以下几个核心组件: 1. **Controller**:控制器是Cairngorm的核心,它负责监听事件并调度模型和视图。控制器通常是一个全局的Singleton类,比如`ApplicationController`,它接收来自...
flex框架之Cairngorm框架,包括Cairngorm框架
Flex Cairngorm框架生成器是一款专门针对Adobe Flex开发的工具,旨在简化Cairngorm框架的应用构建过程。Cairngorm是ActionScript和Flex社区中广泛使用的轻量级MVC(Model-View-Controller)框架,它帮助开发者组织和...
Flex Cairngorm框架实例详解 Flex,作为Adobe的开源富互联网应用(RIA)开发平台,以其强大的MXML和ActionScript支持,为开发者提供了构建交互性强、用户体验优良的应用程序的工具。而Cairngorm框架,则是针对Flex...
Cairngorm框架是Adobe Flex开发中的一个著名MVC(模型-视图-控制器)设计模式实现,它为构建可扩展、模块化和易于维护的Flex应用提供了强大的基础。这个框架由Rorke McCreary在2005年创建,自那时起,它已经成为了...
**cairngorm框架module学习一** Cairngorm是一种基于ActionScript 3.0的轻量级MVC(Model-View-Controller)框架,主要应用于Flex和FlashBuilder的开发中。这个框架由Adobe的软件工程师Pete Moore设计,旨在提供更...
Flex Cairngorm框架是Adobe Flex开发中的一个轻量级MVC(Model-View-Controller)框架,它旨在帮助开发者组织和管理复杂的Flex应用程序。Cairngorm由Adobe贡献给开源社区,是ActionScript 3.0的一个流行架构选择,...
Flex Cairngorm框架详解 Flex Cairngorm框架是Adobe Flex应用程序开发中的一个流行的设计模式,它基于Model-View-Controller(MVC)架构,旨在提高代码的可维护性和可扩展性。Cairngorm框架由SitePen公司开发,最初...
Flex Cairngorm框架是一个强大的轻量级MVC(模型-视图-控制器)架构,用于构建富互联网应用程序(RIA)。这个框架是Adobe Flex开发者社区中的一个流行选择,它旨在提高代码组织、可维护性和可扩展性。让我们深入探讨...
**cairngorm框架module学习三** Cairngorm是一个轻量级的ActionScript框架,主要应用于Flex和Adobe AIR开发,旨在提供一个可扩展和可维护的架构,以支持大型和复杂的RIA(富互联网应用)项目。这个框架是基于MVC...
**cairngorm框架module学习二** 在深入探讨Cairngorm框架的模块化学习之前,我们首先要了解Cairngorm是什么。Cairngorm是Adobe Flex社区开发的一个开源MVC(模型-视图-控制器)框架,它为构建富互联网应用程序(RIA...
Flex的Cairngorm框架是Adobe Flex开发中的一个轻量级MVC(Model-View-Controller)框架,它为创建可扩展、可维护的富互联网应用程序(RIA)提供了结构和指导。Cairngorm框架主要由Martin Fowler在2005年提出,灵感...
Cairngorm框架是Adobe官方推荐的用于Flex应用程序开发的MVC(Model-View-Controller)框架,旨在解决大型复杂项目中的开发效率和可维护性问题。Flex虽然提供了丰富的功能和熟悉的开发流程,但在处理复杂应用程序时,...
标题中的“Flex网上nokia手机专卖店 源码(运用Cairngorm框架)”指的是一个基于Adobe Flex技术开发的在线商店应用,专门售卖Nokia品牌的手机。这个应用使用了Cairngorm框架来实现Model-View-Controller(MVC)设计...
### Cairngorm框架学习知识点详解 #### 一、Cairngorm框架简介 Cairngorm框架是一款专为Adobe Flex和ActionScript开发的轻量级架构框架,它旨在解决RIA(Rich Internet Applications)应用程序中常见的一些问题。...
最新的扩展Cairngorm框架swc包
标题中的"flex与java交互 blaze+cairngorm框架实现用户登录"是指使用BlazeDS作为数据交换的桥梁,Cairngorm作为前端的架构指导,来实现一个用户登录功能。下面将详细讲解这两个技术以及如何在MySQL数据库中处理登录...
通过这个入门示例,你将学习如何设置Cairngorm框架,创建命令,订阅和发布事件,以及如何在Flex应用中有效地组织代码。实践这个项目将帮助你深入理解MVC模式以及Cairngorm如何支持它。记得在学习过程中,不断尝试...