介绍Cairngorm

[url=http://labs.adobe.com/wiki/index.php/Cairngorm]Cairngorm[/url]是Adobe Labs上的Flex MVC框架
Cairngorm文档很少,其Wiki上有核心开发人员[url=http://weblogs.macromedia.com/swebster/]Steven Webster[/url]写了6篇文章来介绍Cairngorm:
[url=http://www.adobe.com/devnet/flex/articles/cairngorm_pt1.html]Part I - Introducing Cairngorm[/url]
[url=http://www.adobe.com/devnet/flex/articles/cairngorm_pt2.html]Part II - Keeping State on the Client[/url]
[url=http://www.adobe.com/devnet/flex/articles/cairngorm_pt3.html]Part III - Architecting the View[/url]
[url=http://www.adobe.com/devnet/flex/articles/cairngorm_pt4.html]Part IV - Feature-driven Development[/url]
[url=http://www.adobe.com/devnet/flex/articles/cairngorm_pt5.html]Part V - Server-side Integration[/url]
[url=http://www.adobe.com/devnet/flex/articles/cairngorm_pt6.html]Part VI - Rapid and Consistent Development with Cairngorm and Flex[/url]

Steven WEbster是Adobe RIA的practice director。

第一部分、介绍Cairngorm:

[color=blue][b]介绍[/b][/color]
这6篇文章的系列展示了一个叫Cairngorm的面向Flex开发人员的开源框架。在这个系列里我解释了Cairngorm幕后的主要思想和
Adobe给出的设计挑战。Cairngorm是一个合适的开发架构。

这个系列使用Cairngorm Store示例程序来解释当基于Cairngorm开发时Adobe Consulting关于scoping、estimating和delivering
富Internet应用(RIA)的思考。我也解释了Cairngorm的多种概念并深入Cairngorm Store的实现。

最后,我通过以Cairngorm开发人员的角度添加一个新特性到Cairngorm Store程序来示范基于Cairngorm微架构发布RIA的主要
好处。通过这一步,你可以自己看到Cairngorm的好处。

Cairngorm当然不是构建Rich Internet Application的唯一方式。但是,Adobe Consulting在已有的Flex程序开发经验的基础上曾
使用本系列文章里的信息来帮助大量客户和合伙人成功发布大规模Flex RIA。

这个系列从理解Cairngorm的动机和概念到基于Cairngorm架构你自己的程序完整的介绍了Cairngorm。

第一部分提供了理解Cairngorm架构的上下文和背景,而不是从一开始就一头扎进代码里。我讨论了框架,并澄清了程序框架和架构
框架之间的区别。然后我介绍了设计模式和微架构概念。最后,我给出Cairngorm出现的背景:它的历史和roadmap。

在第二至六部分,你将在客户端和一个J2EE服务器端使用Flex和Cairngorm开发一个零售商业程序。

[color=blue][b]澄清框架的定义[/b][/color]
在软件开发里,框架这个术语是承受最多和最滥用的术语。当开发人员写了大量代码并认为足够重要来在其他项目中使用,他们趋向
于给代码赋予这个术语。这样就有了许多类型的框架:持久框架、事务框架、日志框架、面向方面框架、动画框架、单元测试框架等等

在深入讨论Cairngorm框架之前,解释Adobe Consulting团队与客户和合伙人分享的关于框架认识的区别很重要 -- 特别是程序框架
和架构框架间的区别。

[b]程序框架[/b]
Flex是程序框架的一个典型的例子。即将发布的Flex 2.0事实上在架构上区别于程序框架 -- 通常在Adobe里称为"app model"。Flex
框架2.0提供丰富的类库来提供高粒度功能性供开发人员创建自定义的代码。例如,Flex 2.0集合API提供开发人员用来创建受管的数
据集合的底层功能性。开发人员组合这些集合为他们的特殊程序的高级对象。而且,程序框架如Flex也暴露了程序级的服务,如
history管理、layout管理、cursor管理、exception handling、i18n、logging等等。

当框架提供高粒度类库来给开发人员提供高级别灵活性,或者当框架提供对多开发人员的项目有用的程序级服务时,我们仍可以称其
为"程序框架"。

另一个程序框架的例子是Adobe Consulting使用的非常成功的[url=http://www.adobe.com/devnet/flex/articles/fast_userguide.html]FAST框架[/url]。FAST框架提供了程序服务如logging、tracing和继承了
Flex1.x框架自己的RPC data services的value-add类库,这在John Bennett的文章里也有所解释:
[url=http://www.adobe.com/devnet/flex/articles/fast_userguide.html]Faster Development with the Flex Application Starter Toolkit(FAST)[/url]

[b]架构框架[/b]
架构框架是完全不同的野兽。架构框架除了提供给程序可以悬挂的基础组织 -- 提供骨架和内部结构来负载肌肉外不提供任何额外的
服务给开发人员

换句话说,架构框架提供你的程序的技术架构通常的入口点。

[color=blue][b]使用设计模式[/b][/color]
不关注软件工程里重大的改进 -- 设计模式的话,很难谈论技术架构。

"there is nothing new under the sun"这句话在软件工程原则里是再正确不过了。开发人员发现他们在程序开发中经常遇到不变的
工程问题。而他们的解决方案也和所遇到的问题一样重复不变。不管这些重复出现在哪里,你可以将这些解决方案视为"模式"。

[b]设计模式的诱惑[/b]
现在有一个警告:当软件工程师第一次遇到设计模式时,对工程问题解决方案的分类的意识可能非常强大。通常开发人员发现问题的
子集并希望寻找其他可以利用的设计模式。尽管如此,"when all you have is a hammer, everything looks like a nail"这句
老谚语在这里是适用的。你经常会在程序里发现"模式过度",开发人员抛弃了类以及协作的责任,而是把任何东西都扔到Factory、
Flyweight、Observer或Decorator里。

但是,合理的使用设计模式会成为开发人员的工具箱里一个强大的工具。设计模式不仅仅提供问题常见的解决方案,而且开发人员在
程序中使用设计模式的方式也指示了实现的目的。例如,不管何时你在代码中使用Singleton时,你理解这是一个应该只有一个实例
的类。类似的,无论何时你遇到一个Factory时,你会意识到工厂类可以产生一些不同的对象。

[b]微架构作为设计模式的组合[/b]
...

[color=blue][b]Cairngorm的历史[/b][/color]
iteration::two是我和Alistair McLeod创立的软件咨询公司,我们意识到要面对的许多在J2EE程序开发里成功解决的设计挑战在RIA
世界里仍然存在。我们回到Flash、Flash Remoting和J2EE的RIA开发历史。

浏览Sun Microsystems提倡的设计模式[url=http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html]Core J2EE Pattern Catalog[/url],我们首先在Reality J2EE: Architecting for
Macromedia Flash MX(Pearson Education, 2003)这本书里展示了Flash中这些模式的应用。随着Flash MX 2004的发布,我们在
Macromedia Flash MX 2004 ActionScript2.0 Dictionary(Macromedia Press, 2003)一书的"ActionScript 2.0 Design Patterns
for RIA Development"一章中也展示了这些模式。

由于RIA技术平台从Flash作为设计中心到Flex编程越来越成熟,使用这些模式的动机也出现了。但是,Flex编程模型给我们更优雅的
方式来实现这些模式。而且,一些我们认为对Flash RIA开发人员非常有用的模式(例如|ViewHelper模式)在Flex RIA世界变得不再
有用,我们也创建了一些自己的新的Flex特有的模式,例如ModelLocator模式。

在[url=http://www.adobe.com/devnet/max2004/]MAX 2004[/url]中我们宣布了我们发布基于Flex的开源Cairngorm框架的决定,这在社区中得到广泛影响。

[b]Cairngorm教会你什么[/b]
Cairngorm是一个宣布了3个重要领域的微架构:
1, 在客户端处理用户动作
2, 封装业务逻辑和服务端交互
3, 在客户端管理状态并展示该状态到用户界面

Cairngorm提供一个微架构(一些设计模式的集合),目标是解决上述重复出现的3个设计挑战。

当你阅读本系列文章时,你将学习如下内容:
1, Front Controller和Command模式怎样实现"Service to Worker"微架构来监听和响应用户请求
2, Business Delegate和Service Locator模式怎样工作来让你重用业务逻辑并封装它来在客户端和服务端开发团队之间建立
一个清晰的契约并且与服务端实现无关,如Web Services,EJB,ColdFusion组件甚至HTTP上使用XML的RESTful 架构。
3, J2EE里的Value Object模式怎样与ModelLocator模式协作来作为一个优雅的策略使用丰富用户体验维护有状态客户端

[b]Cairngorm的当前状态[/b]

[b]Where to Go from Here[/b]
kali设置安装burpsuite中文版 工具:通过网盘分享的文件:Burpsuite 链接:提取码: jay1。 阅读详情

相关推荐

保姆级避坑指南:在Ubuntu 18.04上搞定速腾Helios雷达驱动与fast-LIO2的完整配置流程

本文提供了一份详细的速腾Helios雷达与fast-LIO2在Ubuntu 18.04上的配置避坑指南,涵盖驱动安装、数据格式转换到建图全流程。特别针对常见编译错误和数据转换问题提供了解决方案,帮助开发者高效完成环境搭建与建图任务。

weixin_27252001的博客 113

Cairngorm 3 introduction 介绍

Cairngorm 3 introduction 介绍 Posted by admin | Filed under RIA相关 原文:http://www.kenjor.com/?p=170 Cairngorm 3 lays the foundations for delivering successful Flex projects. It consists of: Cairngorm 3 为开发成功的Flex工程做了三件基础工作 1.Guidelines that describ

mark's technic world 2332

ComfyUI新手必看:JoyCaption 2插件安装全流程(附百度网盘资源)

本文为ComfyUI新手提供了JoyCaption 2插件的完整安装与部署指南。详细介绍了从环境准备、插件获取、模型文件配置到核心节点使用的全流程,并重点解析了其集成的LLM反推模式,帮助用户高效实现从图片到精准提示词的转换。

mango的博客 303

Flex Cairngorm框架实现介绍

本系列文档力求通过简洁的讲解和简单的例子使开发者能快速地掌握基于Cairngorm的Flex程序的设计过程,在后面的文档中后台语言将以JAVA为例,并介绍笔者在实际开发过程中应用的比较稳定的Flex+J2EE框架,希望能对想学习或应用Cairngorm的开发者提供一定的帮助。本文

JavaMan 2097

2023年金蝶云星辰初级顾问认证参考试题(1)

最新积累的考试真题,答案只供参考(49分T~T),欢迎大佬们更正,私聊我修改,有新的试题也可以私聊我,日后会完善题库!大家一起努力,预祝大家顺利通过!1.【简单】生产环节中,客户老板希望掌握材料的超发或漏发情况,,以便分析用料情况,对材料浪费进行管控,可以查看什么报表?⒉[中等】客户主营电气柜的生产销售,商品为非标品需定制,又因交期效短,需要边生产边补料,以下哪个功能最适合该客户场景?15.【简单】在给商品设置科目关联时,分别按照单个商品,商品类别,所有商品设置了对应客户,()优先级最高。

MLX00的博客 7964

从零构建高精度电子秤:HX711与STM32的时序通信陷阱与实战避坑指南

本文详细解析了使用STM32F103C8T6与HX711模块构建高精度电子秤的通信时序陷阱与实战解决方案。重点探讨了微秒级延迟实现、数据读取算法、校准方法和滤波优化,帮助开发者避开常见通信问题,提升电子秤的测量精度和稳定性。

data3的博客 782

flex cairngorm MVC 介绍

 本系列文档力求通过简洁的讲解和简单的例子使开发者能快速地掌握基于Cairngorm的Flex程序的设计过程,在后面的文档中后台语言将以JAVA为例,并介绍笔者在实际开发过程中应用的比较稳定的Flex+J2EE框架,希望能对想学习或应用Cairngorm的开发者提供一定的帮助。本文档的目标读者是这样的开发者:他至少有点熟悉Flex,开发过一些基于Flex的应用程序,有点熟悉Cairng

yangyawen的专栏 4144

【功能安全】【AutoSAR】程序流监控机制

目录 一、程序流执行的常见故障 二、程序流的监控机制 1、监控功能的实现 2、三种监督机制 a、生命监测机制 b、截止时间监测机制 c、逻辑程序流监测机制 一、程序流执行的常见故障 与程序流相关的故障,在ISO26262中第六章附录D中定义如下: — 执行阻塞; — 死锁; — 活锁; — 执行时间的不正确分配; — 软件要素间的不正确同步。 二、程序流的监控机制 1、监控功能的实现 AutoSAR中对程序流的监控功能的实现主要有“看门狗”栈(Watchdog Stack).

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 4517

Cairngorm 介绍

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

路向何方 1455

82、yolov11检测模型迁移瑞芯微rk3588和使用昇腾设备300i DUO卡推理 batch=1/3,支持昇腾NMS迁移npu推理

本文介绍了使用昇腾设备进行分割推理的测试流程,包括两种测试方式(cann+onnx和om)。首先验证300iDUO卡的可用性,随后创建Docker镜像和容器以搭建独立环境。通过从指定仓库拉取Ubuntu 20.04镜像,创建容器并映射目录。进入容器后安装必要组件(Python3、GCC等)和系统工具(pciutils、net-tools等),为后续模型转换和迁移做准备。整个流程旨在构建可交付给第三方的标准化测试环境。

sxj731533730 1199

30、优化算法在芯片布局与药物设计中的应用

本文探讨了优化算法在芯片布局与药物设计中的关键应用。针对芯片布局问题,提出了一种改进的粒子群优化(PSO)方法,通过引入转向因子、重叠检测与消除机制以及优先处理约束模块,有效优化了芯片面积、线长和运行时间,并在有无布局约束条件下均优于传统方法。在药物设计领域,介绍了基于蚁群优化(ACO)的PLANTS算法,用于解决蛋白质-配体对接问题,通过离散化连续变量、信息素更新、局部搜索和聚类处理,提高了构象预测的准确性。文章还总结了两种算法的操作流程,并展望了未来在多约束集成与算法融合方向的发展潜力。

egg99的博客 94

Cairngorm的概要介绍、简介(转自 云自无心水自闲)

one_dollar 755

彻底解决tplink路由器无法访问部分https网站

彻底解决tplink无法访问部分https网站

renkai721的专栏 8762

Spring As框架介绍 与Spring As Cairngorm例子

<br />值得分享:<br /> <br />http://www.cnblogs.com/blueheart104/archive/2010/04/16/1713783.html   Spring As例子与Spring As+ Cairngorm例子<br /> <br /> <br />http://www.riameeting.com/node/448入门简介

ld_flex的专栏 1102

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Flex MVC框架Cairngorm 介绍与案例

Cairngorm简介 Cairngorm 是一种 MVC 框架,它可以帮助开发者很好的组织代码,分层,从而使得代码更加清晰易懂,可以使设计者,UI 组件开发者,数据服务开发者并行工作,从而提高开发效率。创造出Cairngorm的AdobeConsulting团队是把设计模式框架运用到RIA开发的最早的倡导者。Cairngorm中可以看到许多在JEE世界中广泛使用的MVC相关设计模式,即使它只是...

weixin_30522095的博客 170

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Silverlight Cairngorm

Cairngorm这个词做过flex开发的朋友应该不会陌生,Cairngorm是Flex开发中的一个MVC框架,由Adobe官方提供支持。现在Silverlight也有了Cairngorm这个框架的实现。 项目地址:http://www.codeplex.com/SilverlightCairngorm 演示地址:http://www.hanray.com/sites/SilverlightC...

weixin_34054931的博客 94

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

第十一章 深入理解Cairngorm架构模式

                         第十一章  深入理解Cairngorm架构模式任何Flex应用资源包都是MXMl文件、ActionScript文件,基础类库swc文件以及一系列环境配置文件的混合体。如果没有框架的支持,各个模块的组织看起来总是乱糟糟的一片,尤其当你的应用规模变得原来越大的时候。如题所示,Cairngorm框架模式在一定程度上解决了这个问题。它使客户端的开发

Flex技术专栏 --by mervyn_lee 5942

Cairngorm示例:用户登录

  1. Cairngorm简介   Cairngorm是一个Flex程序开发框架,基于MVC设计模式。   使用Cairngorm进行开发时我们一般涉及以下几个部件的开发:   ModelLocator:定义Model。ActionScript类,一般采用singleton模式实现,必须   是Bindable的   ServiceLocator:定义与之进行通...

xu162xu 117

Flex入门(三)——微架构之Cairngorm

大家都知道我们在开发后台的时候,都会使用MVC,三层等分层架构,使后台代码达到职责更为分明单一,高内聚低耦合,例如,Dao层只是进行和数据库打交道,负责处理数据;Service(B层)只是进行逻辑判断处理,而Action则进行后台和前台页面的交互等。从而使程序更加容易管理,更加灵活,更加容易扩展,更加容易维护。也就是大家比较熟悉的Struts(SpringMVC)+Spring+Hibernate

学会改变自己——才能突破 3644

Cairngorm入门的例子

本文来自:http://www.cnblogs.com/zhainanJohnny/archive/2010/11/28/1890356.html 上一篇介绍了一下Cairngorm的基本组成,下面我给大家展示一个简单的例子。   我们按一个完整的Cairngorm流程来介绍这个例子。这个例子很简单,一个按钮和一个标签,当按钮点下之后标签上的数字开始递增。首先,我们需要一个页面,也就...

acjt69278的博客 192

Cairngorm开发流程

Cairngorm是轻量级的MVC框架,非常依赖于Flex的一些特性,所以总体来说是比较容易理解的,但是上手确不是那么简单。Cairngorm的MVC划分的很清楚,甚至可以说是过于苛刻。整个框架没有对View,Model和Controller进行关联,而是对Event和Command的映射。使用Cairngorm开发一个应用的步骤大概分为一下几步1. 定义服务Service在business文件夹

oicq2008的专栏 1318

Cairngorm3中文简介

官方原文地址:http://opensource.adobe.com/wiki/display/cairngorm/GettingStartedWithCairngorm -------------------------------------相关文章目录:①  Cairngorm3 简介)欢迎来到Cairngorm主页 !!②  Cairngorm3简介)Cairngorm 3 指引(G...

hyw520110的专栏 138

Cairngorm

Cairngorm是轻量级的MVC框架,非常依赖于Flex的一些特性,所以总体来说是比较容易理解的,但是上手确不是那么简单。Cairngorm的MVC划分的很清楚,甚至可以说是过于苛刻。整个框架没有对View,Model和Controller进行关联,而是对Event和Comma

未央 613

Cairngorm初学者入门教程 第二节--使用Cairngorm开发程序的步骤

1.先去Adobe Open Source下载Cairngorm的文档,解压缩到自己想要的文件夹下。 2. 在Flex Builder 中新建一个项目 3.将刚下载下来的Cairngorm.swc加入Library path 如果新建项目时忘记添加的话,可以在项目的Properties中添加: 4.这样我们就可以用Cairngorm框架来开发我们的程序了。 ...

diaosong6312的博客 175
上一篇: method_missing了解10件事
下一篇: Hilog 0.1 released.
hidetobj
博客等级 码龄19年 16粉丝 301原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值