Cairngorm在Flex应用程序中的使用
在本文中,我将主要想大家介绍关于Flex的前台开发框架Cairngorm的大体的使用方法。本文将涉及Cairngorm Framework的概念和
组件等方面的基本知识,对于该框架更深层次的细节将不做涉及。
- 有关Cairngorm的概述
Cairngorm是一个经典的Flex框架。它实际上是一个微型的框架---一些经典设计模式的集合。Cairngorm框架借鉴了Java开发社区的经验
非常适合于Team Development,主要关注于以下几个关键的领域:处理用户的动作,封装与服务器的交互和业务逻辑,以及管理客户端的状态
并表现用户接口的状态。
- 使用Cairngorm目的
Cairngorm主要通过以下两方面来组织和划分应用程序代码和结构的方法:
(1)code 和package
(2)组件功能和角色
Cairngorm是一个有关软件设计和开发的方法论。它提倡开发者按照代码角色和功能来区别、组织和分离代码。实现代码的低耦合。

图1 按照代码的功能将代码分离到CairngormMVC中的不同的层
Cairngorm分离应用程序的关注点,它由七大部分组成:
(1)ModelLocator:主要负责管理数据的对象以及数据的状态。使用singleton来共享这些对象,保证应用程序的所有
组件都能够访问到相同的数据。
(2)ServiceLocator:主要用来存储相关数据服务,如HttpService,它也是一个单例模式,可以保证应用程序中所有
的组件都能够访问到相同的数据服务。
(3)业务逻辑被封装在继承了命令模式的相关的命令类中。这些命令类主要根据相应的用户事件来实现相应的业务处理。
(4) Controller(控制器):侦听Cairngorm用户事件并将其映射到相应Cairngorm Command;所有的Cairngorm用
户事件都必须在这个类中注册,并声明相应的Cairngorm Command类来对相应的用户进行处理。
(5)Delegate:一个代理类,主要用来实例化RPC(远程过程调用)并将其结果返回给Command 。
- Cairngorm框架的优点
Cairngorm框架是一个优秀的框架。它的得到了开源社区的大力支持。该框架借鉴了Java开发过程的大量的经验,并成功的应
用到了一些大型应用系统中。它非常适用于Team开发。它允许应用程序的分布式开发。
- Cairngorm 框架的缺点
(1)在该框架中最受指责的一个问题就是需要用户去些大量的类。因为该框架要求每个Custom Event都要对应到一个command类。
除此以外,在编写相应command类时,你可能还需要编写一些delegate类。
(2) Cairngorm执行它固有的时间处理方法,这复杂了Flex内部原有的事件模型。其次Cairngorm事件并不支持Bubble机制。如果
你要将时间通知给更高层的容器,必须进行手动设置。
(3)Cairngorm框架过度的依赖全局单态模式 。它使得应用程序的模块化和单元测试变得困难。
posted on 2010-04-07 20:45 Creative Common 阅读(297) 评论(0) 收藏 举报
浙公网安备 33010602011771号