<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    about cairngorm

    網上一段簡短扼要的cairngorm介紹:
    Cairngorm的組成:
    1. Model Locator:保存應用的ValueObject(數據)和共享變量,與HttpSession類似,只不過是保存在客戶端而不是在服務器端而已
    2. View:一個或者多個Flex組件(按鈕、Panel、下拉框等等)組合在成一個被命名的單元。綁定Model Locator中的數據,根據用戶動作(點擊、滾動、拖放)產生自定義的Cairngorm事件。
    3. Front Controller:接收Cairngorm事件,并映射到對應的Cairngorm命令。
    4. Command:處理業務邏輯,調用Cairngorm的代理或者其他命令,更新Model Locator中的Value Object和變量值。
    5. Delegate:在命令中創建,初始化一個遠程調用(Http, WebService等等),并將返回結果傳遞給Command。
    6. Service:定義遠程調用連接遠程的數據存儲。
    Cairngorm的工作方式:
    1. 客戶端界面由各個View組成,View通過綁定Model Locator的成員來顯示數據。View根據用戶操作生成事件。這些事件由Front Controller廣播并接收,然后映射到相應的命令。命令包含業務邏輯、創建代理來完成操作,處理代理返回的結果,并更新Model Locator的數據。因為View是與Model Locator中的數據綁定的,因此Model Locator中數據更新后,View自動反應出數據的變化。由代理調用服務并返回處理結果不是必須的,但是這是推薦做法。

    官方說明:
    Cairngorm
    是Adobe Labs上的Flex MVC框架
    Cairngorm文檔很少,其Wiki上有核心開發人員Steven Webster寫了6篇文章來介紹Cairngorm:
    Part I - Introducing Cairngorm
    Part II - Keeping State on the Client
    Part III - Architecting the View
    Part IV - Feature-driven Development
    Part V - Server-side Integration
    Part VI - Rapid and Consistent Development with Cairngorm and Flex

    Steven WEbster是Adobe RIA的practice director。

    第一部分、介紹Cairngorm:

    介紹
    這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開發一個零售商業程序。

    澄清框架的定義
    在軟件開發里,框架這個術語是承受最多和最濫用的術語。當開發人員寫了大量代碼并認為足夠重要來在其他項目中使用,他們趨向
    于給代碼賦予這個術語。這樣就有了許多類型的框架:持久框架、事務框架、日志框架、面向方面框架、動畫框架、單元測試框架等等

    在深入討論Cairngorm框架之前,解釋Adobe Consulting團隊與客戶和合伙人分享的關于框架認識的區別很重要 -- 特別是程序框架和架構框架間的區別。

    程序框架
    Flex是程序框架的一個典型的例子。即將發布的Flex 2.0事實上在架構上區別于程序框架 -- 通常在Adobe里稱為"app model"。Flex框架2.0提供豐富的類庫來提供高粒度功能性供開發人員創建自定義的代碼。例如,Flex 2.0集合API提供開發人員用來創建受管的數據集合的底層功能性。開發人員組合這些集合為他們的特殊程序的高級對象。而且,程序框架如Flex也暴露了程序級的服務,如history管理、layout管理、cursor管理、exception handling、i18n、logging等等。

    當框架提供高粒度類庫來給開發人員提供高級別靈活性,或者當框架提供對多開發人員的項目有用的程序級服務時,我們仍可以稱其為"程序框架"。

    另一個程序框架的例子是Adobe Consulting使用的非常成功的FAST框架。FAST框架提供了程序服務如logging、tracing和繼承了Flex1.x框架自己的RPC data services的value-add類庫,這在John Bennett的文章里也有所解釋:
    Faster Development with the Flex Application Starter Toolkit(FAST)

    架構框架
    架構框架是完全不同的野獸。架構框架除了提供給程序可以懸掛的基礎組織 -- 提供骨架和內部結構來負載肌肉外不提供任何額外的服務給開發人員

    換句話說,架構框架提供你的程序的技術架構通常的入口點。

    使用設計模式
    不關注軟件工程里重大的改進 -- 設計模式的話,很難談論技術架構。
    "there is nothing new under the sun"這句話在軟件工程原則里是再正確不過了。開發人員發現他們在程序開發中經常遇到不變的工程問題。而他們的解決方案也和所遇到的問題一樣重復不變。不管這些重復出現在哪里,你可以將這些解決方案視為"模式"。

    設計模式的誘惑
    現在有一個警告:當軟件工程師第一次遇到設計模式時,對工程問題解決方案的分類的意識可能非常強大。通常開發人員發現問題的子集并希望尋找其他可以利用的設計模式。盡管如此,"when all you have is a hammer, everything looks like a nail"這句老諺語在這里是適用的。你經常會在程序里發現"模式過度",開發人員拋棄了類以及協作的責任,而是把任何東西都扔到Factory、Flyweight、Observer或Decorator里。

    但是,合理的使用設計模式會成為開發人員的工具箱里一個強大的工具。設計模式不僅僅提供問題常見的解決方案,而且開發人員在程序中使用設計模式的方式也指示了實現的目的。例如,不管何時你在代碼中使用Singleton時,你理解這是一個應該只有一個實例的類。類似的,無論何時你遇到一個Factory時,你會意識到工廠類可以產生一些不同的對象。

    微架構作為設計模式的組合
    ...

    Cairngorm的歷史
    iteration::two是我和Alistair McLeod創立的軟件咨詢公司,我們意識到要面對的許多在J2EE程序開發里成功解決的設計挑戰在RIA世界里仍然存在。我們回到Flash、Flash Remoting和J2EE的RIA開發歷史。

    瀏覽Sun Microsystems提倡的設計模式Core J2EE Pattern Catalog,我們首先在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模式。

    MAX 2004中我們宣布了我們發布基于Flex的開源Cairngorm框架的決定,這在社區中得到廣泛影響。

    Cairngorm教會你什么
    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模式協作來作為一個優雅的策略使用豐富用戶體驗維護有狀態客戶端

    Cairngorm的當前狀態

    posted on 2010-02-25 23:10 I'm God ! 閱讀(93) 評論(0)  編輯  收藏 所屬分類: Flex


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿

    隨筆分類

    文章分類

    文章檔案

    相冊

    搜索

    最新評論

    主站蜘蛛池模板: 国产高清不卡免费在线| 久久久久久久国产免费看| 亚洲精品视频在线免费| 国产精品亚洲成在人线| 亚洲男人天堂2020| 色欲色欲天天天www亚洲伊| 成人永久免费福利视频网站| 亚洲色无码专区一区| A级毛片内射免费视频| 亚洲精品无码av人在线观看| 成人免费777777被爆出| 亚洲女初尝黑人巨高清| 免费人成视频在线观看网站 | 中文字幕亚洲综合久久综合| 免费看黄视频网站| 亚洲av无码专区在线观看下载 | 亚洲精品无码Av人在线观看国产| 国产色爽免费无码视频| 亚洲国产精品美女| 免费看少妇作爱视频| 九九全国免费视频| 国产精品免费一级在线观看| 黄色毛片免费网站| 国精无码欧精品亚洲一区| 免费观看国产网址你懂的| 国产国拍亚洲精品mv在线观看 | 成年女人免费视频播放77777| 免费亚洲视频在线观看| 免费不卡视频一卡二卡| 亚洲精品无码永久在线观看男男| 亚洲国产精品视频| 日韩免费人妻AV无码专区蜜桃| 亚洲av无码片区一区二区三区| 四虎成人精品在永久免费| 国产永久免费高清在线| 亚洲人成77777在线播放网站不卡| 亚洲av无码天堂一区二区三区| 久99久精品免费视频热77| 亚洲啪AV永久无码精品放毛片| 丝袜熟女国偷自产中文字幕亚洲| 3d动漫精品啪啪一区二区免费|