- 浏览: 7339546 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
本系列文档力求通过简洁的讲解和简单的例子使开发者能快速地掌握基于Cairngorm的Flex程序的设计过程,在后面的文档中后台语言将以JAVA为例,并介绍笔者在实际开发过程中应用的比较稳定的Flex+J2EE框架,希望能对想学习或应用Cairngorm的开发者提供一定的帮助。
本文档的目标读者是这样的开发者:他至少有点熟悉Flex,开发过一些基于Flex的应用程序,有点熟悉Cairngorm框架或有一些设计模式的基础,后面的文档要求读者最好了解一些JAVA的知识。由于本人还要上班,所以后续文档可能发布的有点慢,请读者见谅。
什么是Cairngorm呢?Cairngorm从根本上来说是将程序代码按照逻辑功能(按数据、用户视图、以及起控制作用的代码)分块的一种方法论。这个方法论被归纳为MVC,或者说是Model(模型),view(视图),和Control(控制).熟悉struts的网友可结合Struts的MVC模式来理解。
1,Cairngorm的6大元素
6大元素包括:VO,view,model,control,commands,business
1.1,ValueObject,也就是Cairngorm六大元素中的VO,它提供数据的“结构”。例如一本书由书名、作者、和价格组成,那么这个ValueObject(这里要取名为BookVO)就包含bookName,bookAuthor,bookPrice等属性。ValueObject为Model的ModelLocator提供某些数据的数据“结构”,以便给view绑定。
1.2,View(视图):一个或多个Flex组件(button,panel,comboBox,label等等)组合在一起开成的一个特定的个体,使用model的ModelLocator中绑定的数据,并且针对用户的交互操作(点击,鼠标滑过,拖拽等)产生的自定义Cairngorm Event.
1.3,modelLocator:装着所有的与view绑定的变量(包括VO和其它类型数据),当ModelLocator中的变量变化后,view相应显示的数据也随之变化,反之ModelLocator中的变量也发生变化。所以只需要操作modelLocator中的变量就能可达到view的不同显示的目的。
1.4,control(控制):包括FrontController(前端控制器)和events(自定义事件),前端控制器监听不同的events,并且将不同的event映射到不同的Cairngorm Command进行处理,自定义的event可挟带任何形式的数据带到command中,从而达到数据传送的目的。Event 和 command 的对应关系就类似于struts1.2的struts-config.xml文件。
1.5Command(命令):处理业务逻辑,主要的处理逻辑都在它的execute方法中,在execute方法中,通过调用Cairngorm Delegates 或者 其它的Commands,甚至什么都不调用,以达到更新ModelLocator存绑定的变量的目的。如调用了CairngormDelegates,一般用onResult接收CairgormDelegates执行成功时的返回值,用onFault处理CairngormDelegates执行失败的情况。
1.6,business包括Delegate(代理)和Service(服务):Delegate由一个Command创建,它将远程过程调用(http service ,web Service,DataService等)实例化并将结果返回给该Command。Service定义连接到远程数据库的远程过程调用(Http service,web Service,DataService等),总结为command通过Delegate调用Service.后面的文档将举一个通过Delegate调用服务端Java的DataService的例子。
2,Cairngorm的工作流程
Cairngorm的工作流程可总结为以下6句话:
2.1,Front Controller Listens for User Gestures
前端控制器监听用户的行为。注意它只是监听事件并把事件映射到某个Command,并不会进行任何的业务处理。
2.2,Commands Do All the Work
Command几乎做了所有工作。系统的业务逻辑大部分都集中在Command中,所以我们的主要时间是花在写Command.
2.3.Delegate Server-Side Business Logic to Business Delegates
把服务器端的业务逻辑委托到 Bussiness Delegates中。因为很多时候command需要获得服务器端数据,所以这样一来它可以直接调用Bussiness Delegates而不用关注如何连接数据的细节,实现了信息隐藏。
2.4.Business Delegate Finds Services with the Service Locator
Command调用Business Delegate 后,Business Delegate 通过Service Locator来找到相应的RPC services,然后执行实现从服务器端取数据。
2.5.Transfer Data as Value Objects
把传输过来的数据存储为Value Objects。这点大家应该都很熟悉,比如想要查询一个公告,就必定创建一个公告类,来存储每一个公告的标题等信息。
2.6.Store State in the Model Locator and Let Model Notify View
在Model Locator 保存状态并且能使Model检测到View的变化。这样一来用户操作就能直接影响Model,比如添加物品到购物车,Model中的购物商品就会自动增加。
下图为从网上找到的Cairngorm工作流程的图解,我认为能很好地说明Cairngorm工作流程,可以说把这个图理解好了,便已经理解好了Cairngorm的工作流程:
发表评论
-
flex 中As3Commons的使用學習
2009-10-15 12:53 3726學習Java的人,知道java中反射的强大, ... -
flex的国家化的应用
2009-09-23 08:59 2091在项目中需要使用发送短信模板的功能的,根据主题不同,模板不同, ... -
flex的沙箱问题
2009-09-14 17:14 5451在flex与google的地图整合中发现,点击了goog ... -
Flex 常用技巧
2009-09-04 13:00 2580flex是一种异步请求的技术,如果要实现同步必须在传递函 ... -
Flex 開發Google地圖
2009-08-24 13:16 24511 .获取googe的key 2.下载google的fle ... -
查询之order by,group by和having的使用
2009-08-08 15:48 4723在项目中查询常驻酒店的中住的次数最多的前10个酒店: 代码如 ... -
objectProxy的监控对象应用
2009-08-08 13:46 2679在项目中查询根据一个字段发生实现需要特殊的功能,作出相应的动作 ... -
Flex 依赖注入
2009-08-08 13:41 2095了解依赖注入 众所周 ... -
Flex 与外部的数据通信(HTTPService,URLLoader和URLRequest)
2009-08-08 13:36 7435ActionScript 3.0中提供的数据加载请求类主要是H ... -
flex 数据绑定
2009-08-08 13:31 24099.2.1 函数和类级别的绑定 [Bindable]标签打使 ... -
Flex中Entity对象与Display对象之间的数据双向动态绑定
2009-08-08 13:27 2455flex项目中对象的和组 ... -
学习ActionScript 3.0的新特点
2009-08-06 13:05 2012ActionScript3.0 是一种类型 ... -
理解 Flex itemRenderer - 第 1 部分: 内联渲染器
2009-08-05 16:37 3137Flex 提供许多控制, 它们可以按不同方式显示大量数据。Li ... -
flex 中类似Google的提示下拉菜单实现
2009-08-01 16:28 5416项目中使用类似Gooogle输入提示菜单的实现如下 ... -
针对Flex中组件的扩展的应用开发
2009-08-01 16:04 2869在项目中使用一个自定义的CheckboxGroup组件继承自C ... -
Flex类似Google搜索提示的两种做法思路
2009-08-01 15:52 2681做了个简单的搜索提示 ... -
Flex中直接获取某个组件的对象
2009-08-01 15:47 2456Flex中直接获取某个组件的对象方案1: 遍历这些butto ... -
flex 查看类的各种数据的权限
2009-08-01 15:18 1872查看类的一些属性的信息:可读,可写,可读可写。 ... -
flex中getDefinitionByName 函数的使用
2009-08-01 12:40 6742在项目中自定义一个CheckboxGroup,这个控件里面 ... -
Flex 学习中数据类型必须注意的几点
2009-08-01 12:36 2259在字符串转换为int类型必须使用 最好如下: var a:i ...
相关推荐
在“Flex框架Cairngorm经典案例源码”中,你可能看到以下关键点: 1. **命令模式的应用**:案例可能包含多个Command类,每个类对应一个特定的业务操作,如用户登录、数据加载等。通过EventDispatcher触发命令执行,...
flex框架之Cairngorm框架,包括Cairngorm框架
### Flex框架 Cairngorm+Spring集成详解 #### Flex框架概览 Flex是一种用于构建和部署丰富互联网应用程序(RIA)的强大工具包,它结合了强大的编程语言(如ActionScript)、丰富的图形渲染引擎以及高效的编译器,使...
Cairngorm是一个轻量级的MVC框架,专门用于Adobe Flex应用程序的开发。这个框架的设计目的是为了提高Flex项目的可维护性和可扩展性,通过分离业务逻辑、视图和控制层,使得代码更加模块化。在Cairngorm中,模型...
Cairngorm是一个轻量级的MVC(Model-View-Controller)框架,专为Adobe Flex应用程序设计。这个框架提供了一种结构化的方法来组织和管理Flex应用的复杂性,帮助开发者实现更好的代码复用、模块化和可维护性。在深入...
Cairngorm是Flex框架中的一个轻量级MVC(Model-View-Controller)设计模式实现,由Adobe社区成员Stephan J. Schmidt在2005年提出。这个框架旨在提高Flex应用的可维护性和可扩展性,通过分离业务逻辑、用户界面和数据...
Flex Cairngorm框架详解 Flex Cairngorm框架是Adobe Flex应用程序开发中的一个流行的设计模式,它基于Model-View-Controller(MVC)架构,旨在提高代码的可维护性和可扩展性。Cairngorm框架由SitePen公司开发,最初...
前台FLex工程(单独工程Cairngorm)使用Cairngorm框架与后台java工程(FLexToJava)进行数据交互。功能点: ...附带:数据库sql在java工程中,测试通过,完整的flex使用框架Cairngorm向java后台数据交互
Flex Cairngorm框架实例详解 Flex,作为Adobe的开源富互联网应用(RIA)开发平台,以其强大的MXML和ActionScript支持,为开发者提供了构建交互性强、用户体验优良的应用程序的工具。而Cairngorm框架,则是针对Flex...
学习和理解Cairngorm框架,开发者可以更好地组织Flex代码,提高代码的可读性和可维护性。同时,通过与Java后台的协作,可以构建出高效、健壮的RIA解决方案。在实际项目中,开发者还需要关注安全性、性能优化以及错误...
Flex Cairngorm框架生成器是一款专门针对Adobe Flex开发的工具,旨在简化Cairngorm框架的应用构建过程。Cairngorm是ActionScript和Flex社区中广泛使用的轻量级MVC(Model-View-Controller)框架,它帮助开发者组织和...
Flex Cairngorm 框架是一个面向Flex开发者的重要工具,尤其对于那些致力于构建大型、可扩展的MVC(Model-View-Controller)架构的应用程序。这个框架为ActionScript 3.0开发提供了强大的设计模式支持,使代码组织...
Flex开发框架Cairngorm是Adobe Flex应用中的一个轻量级设计模式集合,它为创建可维护、可扩展的富互联网应用程序(RIA)提供了一种结构化的方法。Cairngorm由ThoughtWorks公司的Peter Farley在2005年创建,自那时起...
Flex Cairngorm Java实例是一个基于Adobe Flex的项目,它整合了Cairngorm框架和Java后端服务,用于构建高效且可扩展的 Rich Internet Applications (RIA)。Flex是一种开源的、基于ActionScript的开发工具,用于创建...
通过学习和实践这个Cairngorm实例,你可以了解如何在Flex项目中有效地组织代码,以及如何利用事件驱动编程来提升应用程序的性能和用户体验。实例中的注释将帮助你理解每个组件的作用,以及它们如何协同工作。对于...
Flex_cairngorm_4.5是一个用于构建富互联网应用程序(RIA)的框架,它结合了Adobe Flex和Cairngorm框架,为开发者提供了一种高效、可扩展的方式来设计和实现复杂的用户界面。这个框架特别适合开发具有增删改查(CRUD...
Cairngorm是一个基于Flex的MVC(Model-View-Controller)...虽然现代开发中出现了更多现代化的前端框架,但Cairngorm作为早期的Flex MVC解决方案,对于理解MVC模式及其在富客户端应用中的应用仍具有重要的学习价值。
通过这个“HelloWorld”项目,开发者可以学习如何定义命令、创建Cairngorm事件、设置服务定位器,以及如何在Flex UI中使用Cairngorm模型和控制器。它通常会展示一个简单的交互过程,例如点击按钮后显示一条欢迎消息...
Flex 提供了强大的用户界面组件和图形库,Cairngorm 是一个轻量级的MVC框架,而BlazeDS则是用于Flex与Java后端服务之间数据交互的中间件。这篇文档将详细介绍如何将这三个技术整合到一起,以实现高效、可扩展的RIA...