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

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

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

    【永恒的瞬間】
    ?Give me hapy ?

    我是一個JAVA EE開發人員,從業已經有近七、八年的時間了。對JavaEE的企業用戶開發技術框架方面的比較熟悉。對Spring,Struts,Webwork,Hibernate等流行的開源框架也一直在工作中使用。

    在現在的MVC框架中,我比較傾向于采用WebWork,靈活輕巧Struts2其實質就是對WebWork2的一次升級,這也說明了WebWork相對與Struts1的優勢所在。在現在的RIA開發成為趨勢之后,在工作中也使用了DWR做Ajax服務器端的數據處理,并采用js template的腳本處理頁面顯示數據,其中最大的痛苦就是調試JavaScript,盡管我們使用了firefox的插件調試javascrpt。

    正如“JAVA程序員當如何選擇RIA開發環境”所提到ajax的的先天缺陷,并不適合RIA的全應用開發,如果只是在頁面中的局部使用是有一些優勢,根據具體情況選擇最合適的。

    在Flex的應用程序開發當中,學習了很對范例,基本上瀏覽了一遍Flex的幫助文檔,并自己做了些小程序。

    其中遇到最大的困難不是在程序調試方面,而且程序管理方面的,代碼混亂,難以控制,尤其在多人開發的時候,更加容易出現這樣的情況。這樣的情況下RIA的開發是痛苦的,不適宜的。

    Cairngorm開發框架說白了就是一個FLEX應用開發的MVC框架(自己的感覺)。將Model,view,Control獨立分開,清晰明了。

    什么是Cairngorm?Cairngorm是一個通過邏輯功能、數據、用戶視圖和代碼控制的任何事情來劃分你的應用程序代碼的基礎方法論,可以叫做MVC(Model-View-Control)的一種實踐方式。

    Cairngorm的劃分
    Model Locator(模型定位器):存儲你的應用中所有的Value Objects(數據)和共享變量在一個位置。和Http的Session對象類似,只是它存儲在Flex接口的客戶端而不是在中間件應用服務器的服務器端。

    View(界面):通過一個或者多個Flex組件(按鈕、面板、組合框、Tile等等)組合在一起的一個個命名單元,綁定數據在Model Locator(模型定位器)中,并且產生基于用戶操作(點擊、滾動、拖拽等)的自定義的Cairngorm事件。

    Front Controller(前端控制器):接收Cairngorm事件并映射他們到Cairngorm命令控制器上。

    Command(命令控制器):處理商業邏輯,調用Caringorm代理和(或)其它命令。

    Delegate(代理):由命令創建,實例化遠程過程調用(HTTP、Web Service等等)并且處理命令的返回結果數據。

    Service(服務):定義連接遠程數據存儲的遠程過程調用(HTTP、Web Service等等)。


    有關Cairngorm的資料:/P>

    Cairngorm 是Iteration::two的開源項目, 是使用macromedia Flex的RIA開發的最佳
    實踐(best-practice)框架.
    Cairngorm基礎上開發RIA, 將會在Iteration::two的專家體系和現有的靈活可維
    護企業解決方案中達到平衡.
    Cairngorm本身并不是一個完整的企業應用, 它只是提供了一個開發的骨架, Iteration::two稱
    之為體系.
    在這個體系中包括以下幾個部分:
    1. Business(業務邏輯部分)
    2. Command(命令部分)
    3. Control(控制部分)
    4. Model(數據模型)
    5. View(界面視圖)
    6. VO(ValueObject)

    我們從Control說起:
    在Control中, 定義了3個基類: Event, EventBroadcaster, FrontController.
    Event用于在應用不同的層之間傳遞事件, 并攜帶事件的數據. 包含type和data兩個
    成員.
    type存放一個區別不同事件的名稱,將會在FrontController中進行注冊.
    而在命令(Command)類中, 會對事件進行響應.

    EventBroadcaster是一個單例類(singleton), 用于廣播用戶動作對應的事件. 使用
    方法: EventBroadcaster.getInstance().broadcastEvent( ... )

    FrontController稍微復雜一點點. 用于將特定的用戶動作分發到指定的命令類. 
    FrontConroller是請求處理的核心類. 整個體系中遍布的EventBroadcaster.getInstance(
    ).broadcastEvent( ... )這樣的調用,
    都是用來通知監聽控制器: 用戶發出了請求. 在實際應用中, 開發者應該生成一個
    FrontContoller的子類,
    并在構造函數中調用addCommand()注冊預期事件的處理命令. FrontController的具
    體實現類應該創建一次而且只能創建一次.



    http://cairngormdocs.org/

    http://labs.adobe.com/wiki/index.php/Cairngorm

    posted on 2007-02-06 14:55 ???MengChuChen 閱讀(848) 評論(0)  編輯  收藏 所屬分類: flex2Cairngorm
    主站蜘蛛池模板: 国产亚洲成av片在线观看| 国产一级高清免费观看| 久9热免费精品视频在线观看| 无码亚洲成a人在线观看| 亚洲中文字幕久在线| 自怕偷自怕亚洲精品| 国产91在线|亚洲| 亚洲女子高潮不断爆白浆| 精品女同一区二区三区免费播放 | 巨胸喷奶水视频www免费视频| 亚洲AV综合永久无码精品天堂| 亚洲高清一区二区三区电影| 国产综合激情在线亚洲第一页| 男男gvh肉在线观看免费| 人妻免费久久久久久久了| 久久综合九色综合97免费下载 | 亚洲一区在线观看视频| 美女黄频a美女大全免费皮| 久久伊人免费视频| 无码国产精品一区二区免费虚拟VR| 91免费国产在线观看| 亚洲中文字幕无码日韩| 亚洲色偷偷综合亚洲av78| 国产成人无码精品久久久免费 | 亚洲熟妇AV乱码在线观看| 成人无码a级毛片免费| 免费无码AV电影在线观看 | 中国一级毛片免费看视频| 日韩免费精品视频| 久久精品亚洲福利| 亚洲丁香婷婷综合久久| 中文字幕免费在线观看| 亚洲开心婷婷中文字幕| 蜜臀亚洲AV无码精品国产午夜.| 国产人成免费视频网站| 亚洲AV永久青草无码精品| 免费高清A级毛片在线播放| 在线看片人成视频免费无遮挡| 亚洲影院在线观看| 伊人久久大香线蕉免费视频| 亚洲精品无码久久毛片|