91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex框架中Cairngorm和Mate的優缺點是什么

發布時間:2021-12-14 14:26:27 來源:億速云 閱讀:126 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Flex框架中Cairngorm和Mate的優缺點是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

如何選擇一個Flex框架

Cairngorm

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

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

優點

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

缺點

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

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

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

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

Mate

Mate是一個基于標簽的,事件驅動的Flex框架。基于標簽意味著它可以完全實現在MXML中。該框架的目的是讓事件響應者的聲明變得簡便。
在項目中使用Mate只需要處理兩個方面:使用1個或者多個事件,有一個成為”eventmap“的MXML文件——被包含在主程序中的一個MXML文件。它定義了需要監聽的事件以及如何被處理。必須有1個eventmap,而且允許有多個。

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

優點

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

缺點

Mate使用MXML文件構建,要是作為一個ActionScript開發者,就需要調整自己的習慣。而且Mate沒有為應用程序制定結構,這份工作留給了開發者。
因此,需要加強團隊協作來保證代碼的兼容性。還有一個問題與AdobeLiveCycleDataServicesES有關,要知道Mate暫時還不能處理LiveCycleDataServices提供的數據管理方面的功能。

關于“Flex框架中Cairngorm和Mate的優缺點是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白城市| 界首市| 北辰区| 浦东新区| 梨树县| 三江| 甘德县| 林州市| 安乡县| 荣成市| 鄂尔多斯市| 晋宁县| 安化县| 万全县| 新密市| 宁远县| 梁平县| 通河县| 临沭县| 永平县| 贵德县| 平顺县| 四会市| 汝阳县| 盱眙县| 田东县| 麻城市| 济南市| 淮北市| 江西省| 尼勒克县| 泸水县| 寻乌县| 嘉峪关市| 惠东县| 双江| 丽水市| 昭通市| 营口市| 隆尧县| 凭祥市|