成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flex框架中Cairngorm和Mate的優(yōu)點大比拼

開發(fā) 后端
本文向大家介紹一下Flex框架中Cairngorm和Mate的優(yōu)缺點,通過對比我們可以更清楚的了解它們各自的優(yōu)勢,在以后的使用過程中可以很方便的選擇。

本文和大家重點討論一下Flex框架中Cairngorm和Mate的優(yōu)缺點,Cairngorm是一個廣為人知的老牌Flex框架,而Mate是一個基于標簽的,事件驅(qū)動的框架。它們有什么不同點或者相似之處嗎請看下文詳細介紹。

如何選擇一個Flex框架

Cairngorm

Cairngorm是一個廣為人知的老牌Flex框架。它是一個微型架構(gòu)——由一些設計模式組成用來降低團隊協(xié)作的困難。
Cairngorm從Java的世界帶來了很多開發(fā)理念,并且把重點放在三個關鍵區(qū)域:處理用戶動作,封裝服務端的交互和業(yè)務邏輯,管理客戶端的狀態(tài)和界面呈現(xiàn)。
使用Cairngorm來構(gòu)建一個項目,需要將應用代碼分離到不同的包并且繼承Cairngorm的類。以下是Cairngorm項目中一些主要的部分和類。

ModelLocator是一個儲存數(shù)據(jù)的單例,數(shù)據(jù)表示程序的狀態(tài)。單例類的性質(zhì)保證了程序中的所有組件取得的是相同的數(shù)據(jù)。
ServiceLocator是另一個單例,它集中管理所有服務如HTTPServices。同樣,由于是單例,程序中的所有組件取得的是相同的服務。
業(yè)務邏輯被封裝在command類中。command實現(xiàn)了命令模式,它們表示相應用戶事件的邏輯。
事件被類FrontController處理,F(xiàn)rontController會把事件映射到相應的Command。
Delegate類作為代理來對遠端服務進行請求和響應。

優(yōu)點

Cairngorm在Flex社區(qū)廣為人知,作為Adobe開源項目的一員,擁有活躍的社區(qū)和開發(fā)者的支持。
其次,該框架吸取了Java開發(fā)中許多寶貴的經(jīng)驗,并成功得用于大型項目的開發(fā)中。
并且,Cairngorm適用于團隊開發(fā),因為它提供了結(jié)構(gòu)化的開發(fā)方法來創(chuàng)建應用,利于分布式的開發(fā)。

缺點

需要寫大量的類應該是Cairngorm最多的負面評論了。在Cairngorm中,每一個event對應一個command;因此,需要對程序觸發(fā)的每一個事件來寫一個command類。而且,還要為command寫一些其他的類,例如delegates。即使是一個中型的應用也會導致大量的類產(chǎn)生。

其次,Cairngorm實現(xiàn)了自己的一套事件處理的方法。這增加了Flex內(nèi)置事件模型的復雜度,而且它還有限制。由于每個事件都有自己的的command,事件的響應者被限制成1個。加之Cairngorm的事件不具冒泡特性,如果要發(fā)送數(shù)據(jù)到容器的其它層次則需要自己來實現(xiàn)。

第三個常見的批評是Cairngorm依賴全局的單例,這讓模塊和單元測試變得困難。盡管可以打破單例中的模型簡化測試,但是會增加額外的過程。

資源
Cairngormdeveloperdocumentation
DevelopingFlexRIAswithCairngormmicroarchitecture–Part1:IntroducingCairngorm(StevenWebsterandLeonTanner,August2008)
ExampleCairngormproject

Mate

Mate是一個基于標簽的,事件驅(qū)動的Flex框架?;跇撕炓馕吨梢酝耆珜崿F(xiàn)在MXML中。該框架的目的是讓事件響應者的聲明變得簡便。
在項目中使用Mate只需要處理兩個方面:使用1個或者多個事件,有一個成為”eventmap“的MXML文件——被包含在主程序中的一個MXML文件。它定義了需要監(jiān)聽的事件以及如何被處理。必須有1個eventmap,而且允許有多個。

Mate也實現(xiàn)了依賴注入(Dependencyinjection)的理念——有時被稱為好萊塢原則,或“don’tcallus,we’llcallyou”。對象的創(chuàng)建時這樣一種方式:數(shù)據(jù)被創(chuàng)建并且注入到對象中。也就是說,對象不會喊著要數(shù)據(jù)(”don’tcallus”),而是數(shù)據(jù)被傳送給對象(”we’llcallyou”)。

優(yōu)點

Mate使用依賴注入提升了松耦合性。因為組件不依賴全局的單例,能更自由地作為對立的部分。Mate不會阻止你使用Flex內(nèi)建的事件機制,也不會像Cairngorm一樣為每個事件都使用單獨的響應。Mate的MXML標簽文件簡單易用,而且文檔優(yōu)秀,在官網(wǎng)上有大量的代碼實例。

缺點

Mate使用MXML文件構(gòu)建,要是作為一個ActionScript開發(fā)者,就需要調(diào)整自己的習慣。而且Mate沒有為應用程序制定結(jié)構(gòu),這份工作留給了開發(fā)者。
因此,需要加強團隊協(xié)作來保證代碼的兼容性。還有一個問題與AdobeLiveCycleDataServicesES有關,要知道Mate暫時還不能處理LiveCycleDataServices提供的數(shù)據(jù)管理方面的功能。
翻譯自:http://www.adobe.com/devnet/flex/articles/flex_framework_02.html

【編輯推薦】

  1. 經(jīng)驗總結(jié) 如何選擇一個Flex框架
  2. Flex基礎 創(chuàng)建***個Flex項目
  3. Flex框架Riawave的定制應用
  4. FlexBuilder3.0與Eclipse3.4的***結(jié)合
  5. 學習筆記 FlexBuilder2.0中如何使用基于Lists的控件 
責任編輯:佚名 來源: cnblogs.com
相關推薦

2014-01-07 17:08:02

Java開源框架

2020-08-04 17:06:40

Merging Rebasing Git

2017-02-05 17:10:41

機器學習深度學習框架

2010-05-28 11:09:51

SVN功能

2010-05-24 18:15:34

SVN中Branch和

2010-08-13 16:00:43

FlexCairngorm框架

2011-01-19 11:10:30

2010-03-18 14:54:46

主流無線技術

2021-03-02 09:00:00

開源框架技術

2010-07-14 13:38:51

Perl開發(fā)工具

2010-09-08 15:41:28

SIP協(xié)議棧

2017-09-10 14:29:03

眼力

2010-08-25 16:12:34

職場

2021-03-15 21:07:17

IT行業(yè)薪酬薪水

2011-11-08 10:29:44

2023-05-26 15:53:48

MidjourneyAI圖像

2016-03-15 13:08:57

Linux桌面環(huán)境LXDE

2019-03-29 08:25:21

JSONXML前端

2018-10-25 14:08:07

KubernetesGoogle

2011-04-01 09:18:01

MRTGCactiZabbix
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品在线一区二区三区 | 亚洲另类春色偷拍在线观看 | 国产免费va| 亚洲精品久久久久久宅男 | 国产女人第一次做爰毛片 | 成人国产精品久久久 | 亚洲激情视频在线 | 91精品国产综合久久精品 | 国产日韩精品在线 | 成人h动漫精品一区二区器材 | 女人天堂av | 日韩一区在线视频 | 亚洲一区在线观看视频 | 国产欧美一区二区在线观看 | 国产免费一区二区三区 | 亚洲视频二区 | 电影91久久久 | 欧美三区视频 | 这里有精品 | 一级大片| 国产精品久久久久久 | 久久国产精99精产国高潮 | 国产亚洲高清视频 | 亚洲一区二区av | 91在线免费视频 | 91正在播放 | 亚洲精品综合 | 精品久久久久久 | 亚洲啊v在线 | 欧美精品综合在线 | 91av在线看 | 综合色站导航 | 自拍视频一区二区三区 | 亚洲一区二区三区久久 | 日韩在线视频精品 | 亚洲电影在线播放 | h视频在线免费 | 亚洲成人在线网 | 国产高清在线 | 日韩a视频| 日韩视频中文字幕 |