`
madfroghe
  • 浏览: 124400 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Cairngorm 框架

    博客分类:
  • Flex
阅读更多
Cairngorm是已知的最为古老与最好的Flex 框架。它实际上是一个微架构——它提供了一系列已经被证明可以很好的互相协作的设计模式的集合。Cairngorm采用累来自Java开发世界的笨重并且把焦点集中到了三个关键区域:处理用户行为,包装服务端交互与业务逻辑,并且管理客户端状态以及在用户界面(UI)上体现客户端状态。

在Cairngorm构建一个项目包含了拆散你的应用到若干个包中并且扩展Cairngorm的类。如下是一个Cairngorm 项目 主要包含的部分和类。

ModelLocator —— 作为数据存贮角色的单件——反映程序的状态。单件类的性质抱枕了程序中所有的组件都访问相同的数据。
ServeiceLocator 是另外一个单件,它作为集中存贮例如HTTPService的服务的角色存在。同样,因为该类是一个单件,所有程序中的组件都会访问相同的服务。
业务逻辑被包装到了实现了命令模式的Command类中。这些类描述了程序响应用户事件的逻辑。
事件会被FrontController 类处理,它会针对事件来执行相应的command类。每个程序可以回应的用户事件都必须被注册到它所附和的command类。
Delegate 类会被用来做远端服务访问与反馈的代理。



优点
Cairngorm是Flex社区中众所周知的,并且是一个Adobe 开源网站上的项目,有良好的支持并且一个活跃的开发者社区继续为它工作。此外,它借用了来自Java开发世界的已被证明的策略。最后,它非常适合团队开发,因为它提供了一个高级的结构化的一套方法来允许分发任务进行创建应用。

缺点
或许对Cairngrom做出的最多的批评就是它需要你去写非常多的类。在Cairngorm中,每个事件映射到一个Command;因此,你不得不为每个在你的应用中可以被触发的事件写一个对应的command类。另外,你必须要写其他的command必须用到的其他类,例如delegate。这会快速的增加一个小型应用的类的数量到一个巨大的数字。

第二,因为Cairngorm 实现了它自己的处理事件的方法,这个会把内建的Flex 事件模型变得错综复杂。它也有其他一些限制。因为每个事件都必须要有它自己的command类,你就被限制只能为每个事件提供一个响应器(responder).并且,Cairngorm事件并不会冒泡,所以如果你想要通知其他更高一级的容器,就只能自己来处理了。

第三条普遍的批评就是框架依赖于全局单例,让想要模块化和单元测试变的困难。虽然你可以从数个单例中破坏这个框架模型让这些处理简单些,但是额外的工作需求会复杂化流程。

资源
Cairngorm developer documentation
Developing Flex RIAs with Cairngorm microarchitecture – Part 1: Introducing Cairngorm (Steven Webster and Leon Tanner, August 2008)
Example Cairngorm project
分享到:
评论

相关推荐

    Cairngorm框架配置

    ### Cairngorm框架配置详解 #### 一、Cairngorm框架概述 Cairngorm是一种专门为Adobe Flex设计的模型-视图-控制器(Model-View-Controller, MVC)架构模式框架。它通过清晰地分离应用逻辑,使得开发更加模块化、可...

    cairngorm 框架介绍(详细介绍了Adobe Cairngorm框架)

    **Cairngorm框架详解** Adobe Cairngorm是一款开源的Model-View-Controller(MVC)框架,专门针对Adobe Flex和ActionScript 3.0开发。这个框架为构建可维护和可扩展的富互联网应用程序(RIA)提供了强大的支持。...

    flex框架之Cairngorm框架(二)

    在Cairngorm框架中,主要包含以下几个核心组件: 1. **Controller**:控制器是Cairngorm的核心,它负责监听事件并调度模型和视图。控制器通常是一个全局的Singleton类,比如`ApplicationController`,它接收来自...

    flex框架之Cairngorm框架(一)

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

    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...

    Cairngorm框架,很好

    Cairngorm框架是Adobe Flex开发中的一个著名MVC(模型-视图-控制器)设计模式实现,它为构建可扩展、模块化和易于维护的Flex应用提供了强大的基础。这个框架由Rorke McCreary在2005年创建,自那时起,它已经成为了...

    cairngorm框架module学习一

    **cairngorm框架module学习一** Cairngorm是一种基于ActionScript 3.0的轻量级MVC(Model-View-Controller)框架,主要应用于Flex和FlashBuilder的开发中。这个框架由Adobe的软件工程师Pete Moore设计,旨在提供更...

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

    Flex Cairngorm框架是Adobe Flex开发中的一个轻量级MVC(Model-View-Controller)框架,它旨在帮助开发者组织和管理复杂的Flex应用程序。Cairngorm由Adobe贡献给开源社区,是ActionScript 3.0的一个流行架构选择,...

    flex-Cairngorm框架

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

    flex Cairngorm框架实例

    Flex Cairngorm框架是一个强大的轻量级MVC(模型-视图-控制器)架构,用于构建富互联网应用程序(RIA)。这个框架是Adobe Flex开发者社区中的一个流行选择,它旨在提高代码组织、可维护性和可扩展性。让我们深入探讨...

    cairngorm框架module学习三

    **cairngorm框架module学习三** Cairngorm是一个轻量级的ActionScript框架,主要应用于Flex和Adobe AIR开发,旨在提供一个可扩展和可维护的架构,以支持大型和复杂的RIA(富互联网应用)项目。这个框架是基于MVC...

    cairngorm框架module学习二

    **cairngorm框架module学习二** 在深入探讨Cairngorm框架的模块化学习之前,我们首先要了解Cairngorm是什么。Cairngorm是Adobe Flex社区开发的一个开源MVC(模型-视图-控制器)框架,它为构建富互联网应用程序(RIA...

    Flex的Cairngorm框架工程 Java后台

    Flex的Cairngorm框架是Adobe Flex开发中的一个轻量级MVC(Model-View-Controller)框架,它为创建可扩展、可维护的富互联网应用程序(RIA)提供了结构和指导。Cairngorm框架主要由Martin Fowler在2005年提出,灵感...

    Cairngorm框架在Flex开发中的应用论文

    Cairngorm框架是Adobe官方推荐的用于Flex应用程序开发的MVC(Model-View-Controller)框架,旨在解决大型复杂项目中的开发效率和可维护性问题。Flex虽然提供了丰富的功能和熟悉的开发流程,但在处理复杂应用程序时,...

    Flex网上nokia手机专卖店 源码(运用Cairngorm框架)

    标题中的“Flex网上nokia手机专卖店 源码(运用Cairngorm框架)”指的是一个基于Adobe Flex技术开发的在线商店应用,专门售卖Nokia品牌的手机。这个应用使用了Cairngorm框架来实现Model-View-Controller(MVC)设计...

    Cairngorm框架学习

    ### Cairngorm框架学习知识点详解 #### 一、Cairngorm框架简介 Cairngorm框架是一款专为Adobe Flex和ActionScript开发的轻量级架构框架,它旨在解决RIA(Rich Internet Applications)应用程序中常见的一些问题。...

    Cairngorm框架swc包

    最新的扩展Cairngorm框架swc包

    flex与java交互 blaze+cairngorm框架实现用户登录

    标题中的"flex与java交互 blaze+cairngorm框架实现用户登录"是指使用BlazeDS作为数据交换的桥梁,Cairngorm作为前端的架构指导,来实现一个用户登录功能。下面将详细讲解这两个技术以及如何在MySQL数据库中处理登录...

    Flex3/4 Cairngorm框架 入门 源码 主要是登陆注册功能。

    通过这个入门示例,你将学习如何设置Cairngorm框架,创建命令,订阅和发布事件,以及如何在Flex应用中有效地组织代码。实践这个项目将帮助你深入理解MVC模式以及Cairngorm如何支持它。记得在学习过程中,不断尝试...

Global site tag (gtag.js) - Google Analytics