`
longgangbai
  • 浏览: 7339546 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flex框架的 Cairngorm学习

阅读更多

本系列文档力求通过简洁的讲解和简单的例子使开发者能快速地掌握基于CairngormFlex程序的设计过程,在后面的文档中后台语言将以JAVA为例,并介绍笔者在实际开发过程中应用的比较稳定的Flex+J2EE框架,希望能对想学习或应用Cairngorm的开发者提供一定的帮助。

本文档的目标读者是这样的开发者:他至少有点熟悉Flex,开发过一些基于Flex的应用程序,有点熟悉Cairngorm框架或有一些设计模式的基础,后面的文档要求读者最好了解一些JAVA的知识。由于本人还要上班,所以后续文档可能发布的有点慢,请读者见谅。

什么是Cairngorm呢?Cairngorm从根本上来说是将程序代码按照逻辑功能(按数据、用户视图、以及起控制作用的代码)分块的一种方法论。这个方法论被归纳为MVC,或者说是Model(模型),view(视图),Control(控制).熟悉struts的网友可结合StrutsMVC模式来理解。

1,Cairngorm6大元素

6大元素包括:VO,view,model,control,commands,business

1.1,ValueObject,也就是Cairngorm六大元素中的VO,它提供数据的“结构”。例如一本书由书名、作者、和价格组成,那么这个ValueObject(这里要取名为BookVO)就包含bookName,bookAuthor,bookPrice等属性。ValueObjectModelModelLocator提供某些数据的数据“结构”,以便给view绑定。

1.2View(视图):一个或多个Flex组件(button,panel,comboBox,label等等)组合在一起开成的一个特定的个体,使用modelModelLocator中绑定的数据,并且针对用户的交互操作(点击,鼠标滑过,拖拽等)产生的自定义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.2struts-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等)实例化并将结果返回给该CommandService定义连接到远程数据库的远程过程调用(Http service,web Service,DataService),总结为command通过Delegate调用Service.后面的文档将举一个通过Delegate调用服务端JavaDataService的例子。

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的工作流程:

 

  • 大小: 57.7 KB
分享到:
评论

相关推荐

    Flex框架Cairngorm经典案例源码

    在“Flex框架Cairngorm经典案例源码”中,你可能看到以下关键点: 1. **命令模式的应用**:案例可能包含多个Command类,每个类对应一个特定的业务操作,如用户登录、数据加载等。通过EventDispatcher触发命令执行,...

    flex框架之Cairngorm框架(一)

    flex框架之Cairngorm框架,包括Cairngorm框架

    flex框架 Cairngorm+spring集成

    ### Flex框架 Cairngorm+Spring集成详解 #### Flex框架概览 Flex是一种用于构建和部署丰富互联网应用程序(RIA)的强大工具包,它结合了强大的编程语言(如ActionScript)、丰富的图形渲染引擎以及高效的编译器,使...

    Flex开发框架cairngorm入门实例教程

    Cairngorm是一个轻量级的MVC框架,专门用于Adobe Flex应用程序的开发。这个框架的设计目的是为了提高Flex项目的可维护性和可扩展性,通过分离业务逻辑、视图和控制层,使得代码更加模块化。在Cairngorm中,模型...

    Flex MVC框架 Cairngorm 学习笔记

    Cairngorm是一个轻量级的MVC(Model-View-Controller)框架,专为Adobe Flex应用程序设计。这个框架提供了一种结构化的方法来组织和管理Flex应用的复杂性,帮助开发者实现更好的代码复用、模块化和可维护性。在深入...

    flex框架之Cairngorm框架(二)

    Cairngorm是Flex框架中的一个轻量级MVC(Model-View-Controller)设计模式实现,由Adobe社区成员Stephan J. Schmidt在2005年提出。这个框架旨在提高Flex应用的可维护性和可扩展性,通过分离业务逻辑、用户界面和数据...

    flex-Cairngorm框架

    Flex Cairngorm框架详解 Flex Cairngorm框架是Adobe Flex应用程序开发中的一个流行的设计模式,它基于Model-View-Controller(MVC)架构,旨在提高代码的可维护性和可扩展性。Cairngorm框架由SitePen公司开发,最初...

    Flex 使用 Cairngorm 框架与java进行数据交互

    前台FLex工程(单独工程Cairngorm)使用Cairngorm框架与后台java工程(FLexToJava)进行数据交互。功能点: ...附带:数据库sql在java工程中,测试通过,完整的flex使用框架Cairngorm向java后台数据交互

    flex 的cairngorm框架实例

    Flex Cairngorm框架实例详解 Flex,作为Adobe的开源富互联网应用(RIA)开发平台,以其强大的MXML和ActionScript支持,为开发者提供了构建交互性强、用户体验优良的应用程序的工具。而Cairngorm框架,则是针对Flex...

    Flex的Cairngorm框架工程 Java后台

    学习和理解Cairngorm框架,开发者可以更好地组织Flex代码,提高代码的可读性和可维护性。同时,通过与Java后台的协作,可以构建出高效、健壮的RIA解决方案。在实际项目中,开发者还需要关注安全性、性能优化以及错误...

    Flex Cairngorm框架生成器

    Flex Cairngorm框架生成器是一款专门针对Adobe Flex开发的工具,旨在简化Cairngorm框架的应用构建过程。Cairngorm是ActionScript和Flex社区中广泛使用的轻量级MVC(Model-View-Controller)框架,它帮助开发者组织和...

    Flex-cairngorm-demo我喜欢的

    Flex Cairngorm 框架是一个面向Flex开发者的重要工具,尤其对于那些致力于构建大型、可扩展的MVC(Model-View-Controller)架构的应用程序。这个框架为ActionScript 3.0开发提供了强大的设计模式支持,使代码组织...

    Flex开发框架cairngorm入门实例教程.rar

    Flex开发框架Cairngorm是Adobe Flex应用中的一个轻量级设计模式集合,它为创建可维护、可扩展的富互联网应用程序(RIA)提供了一种结构化的方法。Cairngorm由ThoughtWorks公司的Peter Farley在2005年创建,自那时起...

    flex+cairngorm+java 实例

    Flex Cairngorm Java实例是一个基于Adobe Flex的项目,它整合了Cairngorm框架和Java后端服务,用于构建高效且可扩展的 Rich Internet Applications (RIA)。Flex是一种开源的、基于ActionScript的开发工具,用于创建...

    flex Cairngorm框架实例

    通过学习和实践这个Cairngorm实例,你可以了解如何在Flex项目中有效地组织代码,以及如何利用事件驱动编程来提升应用程序的性能和用户体验。实例中的注释将帮助你理解每个组件的作用,以及它们如何协同工作。对于...

    Flex_cairngorm_4.5做的增删改查效果(包括mysql数据库)

    Flex_cairngorm_4.5是一个用于构建富互联网应用程序(RIA)的框架,它结合了Adobe Flex和Cairngorm框架,为开发者提供了一种高效、可扩展的方式来设计和实现复杂的用户界面。这个框架特别适合开发具有增删改查(CRUD...

    Flex 框架搭建步骤Cairngorm

    Cairngorm是一个基于Flex的MVC(Model-View-Controller)...虽然现代开发中出现了更多现代化的前端框架,但Cairngorm作为早期的Flex MVC解决方案,对于理解MVC模式及其在富客户端应用中的应用仍具有重要的学习价值。

    flex_cairngorm_Mvc_HelloWorld

    通过这个“HelloWorld”项目,开发者可以学习如何定义命令、创建Cairngorm事件、设置服务定位器,以及如何在Flex UI中使用Cairngorm模型和控制器。它通常会展示一个简单的交互过程,例如点击按钮后显示一条欢迎消息...

    flex+Cairngorm+blazeds整合.doc

    Flex 提供了强大的用户界面组件和图形库,Cairngorm 是一个轻量级的MVC框架,而BlazeDS则是用于Flex与Java后端服务之间数据交互的中间件。这篇文档将详细介绍如何将这三个技术整合到一起,以实现高效、可扩展的RIA...

Global site tag (gtag.js) - Google Analytics