Cairngorm在Flex应用程序中的使用

  在本文中,我将主要想大家介绍关于Flex的前台开发框架Cairngorm的大体的使用方法。本文将涉及Cairngorm Framework的概念和

组件等方面的基本知识,对于该框架更深层次的细节将不做涉及。

  1. 有关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)    收藏  举报

导航