基于Cairngorm MVC框架的Flex程序设计与开发

简介:随着富互联网应用程序 (Rich Internet Application) 的发展,Flex 也得到了迅速的发展, 然后随着 Flex 应用的项目的增大,传统的 Flex 开发已经显得层次不清,维护困难,在这样背景下, 基于 Flex 的 MVC 框架 Cairngorm 应运而生。本文将介绍系统的讲解 Cairngorm,通过本教程的学习 ,您可以全面掌握使用 Cairngorm 框架进行 Web 开发。

Cairngorm 框架简介

Cairngorm 是一种 MVC 框架,它可以帮助开发者很好的组织代码,分层,从而使得代码更加清晰易 懂,可以使设计者,UI 组件开发者,数据服务开发者并行工作,从而提高开发效率。Cairngorm 由五大 组件构成,分别作为存放数据的仓库 (ModelLocator),存放服务的仓库 (ServiceLocator),处理业务 逻辑的命令 (Command),自定义的用于触发命令执行的事件 (Event),用于把事件映射到命令的前端控 制器 (FrontController)。它应用了代理模式,命令模式,观察者和单例等几种设计模式。

Cairngorm 详解

ModelLocator: 用于保存应用程序的数据,与 HttpSession 类似,区别主要在于数据是保存客户端 ,实现时将 ModelLocator 实现为单例,所有的应用数据都存储在唯一的一个 ModelLocator 对象中。

CairngormEvent: 这个类由 Cairngorm 框架提供,位于包 com.adobe.cairngorm.control,所有的 自定义的事件类都必须继承 CairngormEvent,在自定义事件类中定义 VO 的引用,可以通过它来存储从 View 层传递过来的 VO。

ICommand: 命令接口,位于包 com.adobe.cairngorm.commands,每个命令类需要实现 ICommand 接 口,命令类用于处理业务逻辑,通过实现其 execute 方法来实现业务逻辑。execute 方法以事件作为参 数,通过传入的事件中包含的详细信息来进行相应的处理。

FrontController: 前端控制器,位于包 com.adobe.cairngorm.control,自定义的前端控制器必须 继承 FrontController,它主要用于完成 CairngormEvent 和 ICommand 之间的映射。

CairngormEventDispatcher:CairngormEvent 的分发器,位于包 com.adobe.cairngorm.control

Delegate: 服务代理,一般定义一个 Delegate 类,持有 ServiceLocator 的引用,Delegate 类是 唯一的了解 Service 有关的类。

系统处理流程

图 1. 使用 Cairngorm 后系统处理流程

时间: 2024-09-19 09:07:21

基于Cairngorm MVC框架的Flex程序设计与开发的相关文章

基于spring mvc框架的项目访问服务器的时候报以下错误

问题描述 解决方案 解决方案二:你的bean创建失败了,你应该看看它为什么创建失败解决方案三:恩少了几个jar包

产品前端重构(TypeScript、MVC框架设计)

最近两周完成了对公司某一产品的前端重构,本文记录重构的主要思路及相关的设计内容. 公司期望把某一管理类信息系统从项目代码中抽取.重构为一个可复用的产品.该系统的前端是基于 ExtJs 5 进行构造的,后端是基于 Asp.net MVC 提供的 REST 数据接口.同时,希望通过这次重构,不但能将其本身重构至可用于快速二次开发的产品,同时还要求该前端代码要保证相对的独立,使得同时可以接入 .NET 和 JAVA 两个不同的后端平台所提供的数据接口.   旧代码的问题 老系统的前端代码如下图所示:

Flex中最好的MVC框架Mate框架_Flex

Mate框架下载:Download compiled library (SWC) version 0.7.3 - Flex 3     Download compiled library (SWC) version 0.7.3 - Flex 2 Mate 是一种基于标记的Flex MVC 事件驱动框架. FLEX运用程序是通过事件进行驱动.Mate框架让Flex程序产生的事件处理变得更容易. Mate框架允许你定义谁来此事件.是否需要从服务器端接收数据或则是触发其它事件的执行. 另外Mate通过

基于MVC框架+IOC+Rhino Mocks的一个简单项目介绍

现在不管是企业还是科研机构,几乎所有的项目开发都是遵循一定的框架,将经过实践证明过的开发 框架和开发模式借鉴使用无可厚非,但难免会遇到某些功能实现或者基于某种考虑当前的开发框架无法达 到这样的目的.这时我们就会考虑不同技术的融合. 我们现在正在开发的平台项目正是借鉴了这样的思想,我们的平台项目首先整体的开发框架使用了 AspNet MVC框架:其次数据访问层套用了CommunityServer的开发框架,其中融合了Provider模式和传统 的三层架构:而在业务逻辑层处理中,为了保证代码的可重用

基于ASP.NET2.0的非HttpModule山寨版MVC框架的实现

在ASP.Net MVC框架中是使用地址拦截的,虽然很好用,但是装起来太大了,配置也麻烦.本文通过代码实践,在ASP.Net2.0框架下实现一套简易的MVC框架.MVC框架难于构建的地方在于Controller与View的分离以及分离后数据可以方便地传输.为了保持代码的简洁,将使用ashx文件作为Controller,用aspx页面作为View. 讲起来比较费劲,把项目文件放上来,而下面只作一个简单的说明.项目是VS2008的项目,大小15K. 下载地址:DotNetMVC.rar 首先构建一个

基于ASP.NET MVC框架开发Web论坛应用程序

我想通过本系列文章从头到尾构建一个完整的ASP.NET MVC论坛应用程序,最终的目的是探讨和推动使用ASP.NET MVC框架构建应用程序的最佳实践. 1.简介 在本篇中,我想先从全局方面介绍一下论坛应用程序的总体目标.在本篇中,我将讨论一下避免代码坏味道的重要性,还将讨论如何利用软件设计原则和模式来帮助你编写适合未来改变的富有弹性的代码.最后,我还将论证一下为什么我选择使用测试驱动开发方式构建本系列文章中的论坛应用程序. 2.什么样的软件是好的软件 我不想仅仅为了构建论坛应用程序而任意构建此

基于Cairngorm的Silverlight开发 - part1

基于Cairngorm的Silverlight开发 - part1 概述 简单的说Cairngorm是在Silverlight开发中的一个轻量级的MVC开发框架. 和flash.flex开发中的Cairngorm框架一样,Cairngorm是能将程序代码按照逻辑功能(数据.视图.控制)分块的一种开发模型,这个模型被称为MVC(Model模型.View视图.Control控制)模型. 获取 请访问项目网站 的下载页面 . Cairngorm的各个部分 ModelLocator模型:一个储存程序中所

基于Cairngorm的Silverlight开发系列

  最近做了几个silverlight的项目都用到了MVC的开发架构,在silverlight中,MVC.MVVM等架构都很多.各个第三方的公司在推出自己的架构的同时也专门会发布一个for silverlight的版本(如CSLA .NET 3.6支持Silverlight 2 ).  我在做项目时选用了Cairngorm这个MVC框架,因为之前我做flex开发时就用的是他,silverlight中对这个框架进行了移植,用法.思路都是一致的,这里总结了一下自己的开发经验共享出来.   两个用Ca

.NET Web开发之.NET MVC框架介绍_实用技巧

MVC概念 MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序.那么什么是MVC?MVC由三部分组成:Model(模型).View(视图)及Controller(控制器). Model即应用程序的数据模型.任何应用程序都离不开数据,数据可以存储在数据库中.磁盘文件中,甚至内存中.Model就是对这些数据的抽象,不论数据采取何种存储形式,应用程序总是能够通过Model来对数据进行操作,而不必关心数据的存储形式.数据实体类就是常用的一种Model.例如,一个客户管理应用程序使