`

Flex Cairngorm之旅(小项目实例)

阅读更多
  • 引言:做flex开发有一个月了,对Flex Cairngorm有了一点初步的了解,写了一个小程序希望大家互相探讨学习交流。
  • 完成时间:两个晚上
  • 项目介绍:登录后台管理用户,用户信息存储在xml文件里,可以实现增、删和修改用户的信息。
  • 所用技术:Flex /Cairngorm/ Xml /HttpService /Actionscript3.0/ FlashDebug etc.
  • 项目截图:看文章底部附件
  • Cairngorm 框架介绍:

 

Cairngorm Abode 推出的 Flex RIAs 框架,其实是 MVC 的发扬光大,它由七大部分组成。

1.  Model( 数据模型 M) :使用 singleton( 单例 ) 模式共享变量;

2.  VO( Value Object) :储存特定值对象变量。

3.  View( 视图 V) :将 Model 的数据绑定互组件并广播侦听 Cairngorm Event

4.  Controller( 控制器 ) :侦听 Cairngorm 事件并将其映射到 Cairngorm Command

5.  Command( 命令 ) :调用 Cairngorm Delegate 或其它 Command ,并更新 Model

6.  Delegate( 委托 ) :实例化 RPC( 远程过程调用 ) 并将其结果返回给 Command

7.  Business( 业务 ) :定义 RPC

cairngorm 框架 定义了一种开发体系,并以此来规范开发者对项目代码的划分。这个体系包括以下几个部分。

1 :值对象 VO

值对象用来定义基本的数据结构,强化数据类型,以便在应用程序的各层之间传递数据进行严格的数据类型检测。通常服务器端返回的数据都应在客户端序列化为相应的值对象类型。提供了 ValueObject ,和 IValueObject 。建议开发人员在创建值对象类时实现该接口。

2 :数据模型 Model

cairngorm model 提供了 ImodelLocator ModelLocator 的模型定位器接口, ModelLocator IModelLocator 派生,实际应用的时候我们需要实现他们的类和接口,来集中放置应用程序中的全部数据和状态。

3 :视图层 View

cairngorm view 提供两个类 ViewHelper ViewLocator 。它们是用来控制视图层代码的。 ViewHelp 用来封装视图的代码,一边控制层和视图层的分离。 ViewLocator 是用来管理和存放视图的 ViewHelp 以便统一管理。

4 :命令 command

cairngorm 里的 command 包中包行 Command I Command sequenceCommand 类, Command 是有 Icommand 派生的。所有这些接口都实现 execute ()方法 。该方法接受 cairngormEvent 类型参数。 sequenceCommand 类是用来创建队列中的命令。在实际应用中有时候会连续调用多个命令。因此 sequenceCommand 提供了 nextEvent 属性和 executeNextCommand() 方法。 nextEvent 属性用来指定下一个 command 相应事件, executeNextCommand ()会派发由 nextEvent 属性指定的事件与该事件响应的方法就该执行。

5 :控制器 control

cairngorm cotrol 包中包含 cairngormEvent cairngormEventDispatcher FrontController 类。 cairngomEventDispatcher 是一个单例模式。它提供了一个事件派遣器的实例,所有 cairngormEvent 类型的事件都是由它派遣的 。使用这种方法可以简化传递过程,在应用的任何地方,只要对 CairngormEventDispatcher 的实例进行侦听就可以捕获到相应的 c airngormEvent 事件。 FrontController 类是用来建立事件与命令直接的映射关系的。

6 :业务逻辑 Business

Business 包提供访问远程服务器所需要的类和接口,通常我们只需要使用其中的两个, ServiceLocator Respnser 接口。 serviceLocator 是单例模式的类,用来提供服务器的远程调用 RPC. 这种调用通过 HTTPService WebService RemoteObject 进行。而这些远程访问的结果都有 Responser 接口类执行。

7 :委托类 Delegate Command 和服务器连接起来, Command 通过 Delegate 调用服务器又从服务器里获得返回结果传给 Command



  • 大小: 12.6 KB
  • 大小: 33.1 KB
  • 大小: 30 KB
2
2
分享到:
评论
5 楼 chensong215 2012-12-12  
guangqiang 写道
chensong215 写道
都不用Cairngorm,开发工作量太大,冗余代码也多。

嗯 不过对初学者练习FLEX mvc架构还是挺好的
企业中我们常用parsley 和pureMVC
不知老兄你们常用?哪些?????



我们都不用框架,就是自己写
4 楼 guangqiang 2012-12-11  
chensong215 写道
都不用Cairngorm,开发工作量太大,冗余代码也多。

嗯 不过对初学者练习FLEX mvc架构还是挺好的
企业中我们常用parsley 和pureMVC
不知老兄你们常用?哪些?????
3 楼 chensong215 2012-12-11  
都不用Cairngorm,开发工作量太大,冗余代码也多。
2 楼 guangqiang 2010-10-26  
varyall 写道
Cairngorm 是 Abode 推出的 Flex RIAs 框架,其实是 MVC 的发扬光大,它由七大部分组成。

1.  Model( 数据模型 M) :使用 singleton( 单例 ) 模式共享变量;

2.  VO( Value Object) :储存特定值对象变量。

3.  View( 视图 V) :将 Model 的数据绑定互组件并广播侦听 Cairngorm Event ;

4.  Controller( 控制器 ) :侦听 Cairngorm 事件并将其映射到 Cairngorm Command ;

5.  Command( 命令 ) :调用 Cairngorm Delegate 或其它 Command ,并更新 Model ;

6.  Delegate( 委托 ) :实例化 RPC( 远程过程调用 ) 并将其结果返回给 Command ;

7.  Business( 业务 ) :定义 RPC 。

上面对于每一个的功能都说的挺清楚的,你的文章我收了,直接转载了。同意情回复。

嗯,朋友,你好,可以转载啊。希望以后互相学习 共同进步~。~
1 楼 varyall 2010-10-21  
Cairngorm 是 Abode 推出的 Flex RIAs 框架,其实是 MVC 的发扬光大,它由七大部分组成。

1.  Model( 数据模型 M) :使用 singleton( 单例 ) 模式共享变量;

2.  VO( Value Object) :储存特定值对象变量。

3.  View( 视图 V) :将 Model 的数据绑定互组件并广播侦听 Cairngorm Event ;

4.  Controller( 控制器 ) :侦听 Cairngorm 事件并将其映射到 Cairngorm Command ;

5.  Command( 命令 ) :调用 Cairngorm Delegate 或其它 Command ,并更新 Model ;

6.  Delegate( 委托 ) :实例化 RPC( 远程过程调用 ) 并将其结果返回给 Command ;

7.  Business( 业务 ) :定义 RPC 。

上面对于每一个的功能都说的挺清楚的,你的文章我收了,直接转载了。同意情回复。

相关推荐

    flex Cairngorm框架实例

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

    flex cairngorm框架实例 真正可运行直接导入

    在“flex cairngorm框架实例 真正可运行直接导入”中,我们拥有的是一个可以直接导入并运行的示例项目。这表明该压缩包包含了一个完整的、配置好的Cairngorm框架应用,开发者无需额外配置或修改就能启动和测试。这...

    flex+cairngorm+java 实例

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

    flex Cairngorm 实例

    Flex Cairngorm实例详解 Flex Cairngorm框架是Adobe Flex应用程序开发中的一个流行MVC(Model-View-Controller)框架,它提供了一种结构化的方式...希望这个Cairngorm实例能为你的Flex开发之路提供宝贵的参考和帮助。

    Flex login flex cairngorm

    Cairngorm是Flex社区中广泛使用的轻量级MVC(模型-视图-控制器)框架,它帮助开发者组织和管理复杂的Flex项目。在“Flex login flex cairngorm”这个主题中,我们将探讨如何使用Cairngorm框架实现登录功能。 1. **...

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

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

    Flex Cairngorm Parsley Demo 源码

    通过深入研究这个Demo,开发者不仅可以掌握Cairngorm和Parsley的使用,还能了解到如何在实际项目中结合两者的优势,构建高效、可维护的Flex应用程序。同时,这个过程也能提升对MVC设计模式和面向切面编程的理解,...

    Flex框架Cairngorm经典案例源码

    Cairngorm是Flex社区中流行的一种轻量级MVC(Model-View-Controller)框架,它提供了一种结构化的方法来组织和管理Flex项目的代码,从而提高开发效率和代码可维护性。 Cairngorm框架的核心组件包括: 1. **模型...

    Flex Cairngorm框架生成器

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

    flex 的cairngorm框架实例

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

    flex cairngorm 写的一个小例子

    在"flex cairngorm 写的一个小例子"中,我们可能看到一个实际的Flex项目,它演示了如何使用Cairngorm框架来构建应用。这个例子可能包括了Cairngorm的核心组件,如事件调度、服务代理、命令模式以及模型代理等概念。 ...

    Flex Cairngorm内部培训教程

    Cairngorm最初由Iteration:Two开发,随着Adobe Flex 2和ActionScript 3的发布,它成为了Adobe官方推荐的开发框架之一。Cairngorm的核心理念是提高Flex应用的可维护性、可扩展性和组织结构,它通过提供一套开发体系,...

    flex Cairngorm.swc

    cairngorm.swc供需要的朋友急用

    flex Cairngorm ,FABridgeDemo

    在此,我们主要探讨的是Flex中的Cairngorm框架以及FABridge库的使用,并通过一个名为FABridgeDemo的实例来深入理解这两个工具的结合应用。 Cairngorm是Adobe社区推出的一个轻量级MVC(Model-View-Controller)设计...

    flex Cairngorm 开发文档中文版.pdf

    Flex Cairngorm框架是Adobe Flex开发中的一个著名轻量级MVC框架,它为构建大型、可维护的Flex应用程序提供了结构和指导。这份"flex Cairngorm 开发文档中文版.pdf"是开发者们理解并掌握Cairngorm框架的重要参考资料...

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

    在“flex cairngorm入门实例教程”中,你可能会学到如何设置项目环境,引入Cairngorm库,创建和配置模型、控制器、命令以及事件监听器。教程可能还会涵盖如何使用Service Locator来注入依赖,以及如何使用...

    flex框架之Cairngorm框架(一)

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

Global site tag (gtag.js) - Google Analytics