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

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

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

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    這一段時間在 Cairngorm上搭建了一個小項目, 順便小結一下開發(fā)過程:
    1. 首先規(guī)劃構建View, 將一個應用的界面, 分成適當?shù)腗xml Component
    2. view中必然涉及的需要數(shù)據(jù)的綁定, 將組件需要的數(shù)據(jù)都集中到ModelLocator中.
    3. 設計事件(CairngormEvent), 也就是與用戶交互的過程中以及系統(tǒng)運轉的過程中會需要派發(fā)哪些事件,
    需要注意的一點是, Cairngorm中Flex事件也需要轉化成CairngormEvent
    4. 設計事件的處理函數(shù), 也就是命令. 在FrontControl中對事件和命令進行注冊.
    5. 命令中通過代理去調用服務.
    5. 設計代理類, 在代理類中調用服務
    5. 設計命令中涉及的服務(最可能的是與數(shù)據(jù)庫的交互), 并添加相應的配置
    6. 設計服務中需要使用的ValueObject
    7. 命令中如果需要對視圖組件數(shù)據(jù)進行存取, 需要通過ViewHelper來完成, 設計相應的ViewHelper.
    同時在mxml中對viewHelper進行注冊.

    補充說明: 事件的產(chǎn)生不一定全部是與用戶交互的結果, 也就是說不全是由View產(chǎn)生的.
    當然大部分的事件(比如用戶點擊了保存按鈕)是這樣產(chǎn)生的.
    在命令中也可以產(chǎn)生命令, 典型的就是SequenceCommand, 應用中可以把一個事件的處理分成幾個步驟來完成,
    完成第1個步驟后怎么通知第2個步驟開始呢, 當然還是繼續(xù)派發(fā)事件啦. 在SequenceCommand在類中,
    把派發(fā)事件封裝了一下, 給出了一個executeNextCommand()可以直接調用.
    不過在這里我也遇到了一個問題, 直接使用SequenceCommand的executeNextCommand()并不管用.
    好象dispatchEvent并沒有效果, 我后來是自己修改了代碼, 使用Application.application.dispatchEvent才解決問題的.

    Cairngorm的優(yōu)點:
    一. 實現(xiàn)了比較徹底的解耦
    1. 事件機制, 對用戶的響應(比如點擊保存按鈕), 并不是直接從View中抓取數(shù)據(jù), 然后New一個類, 調用這個類的某個方法,
    將數(shù)據(jù)保存到數(shù)據(jù)庫中, 而只是簡單地派發(fā)一個事件, 具體事件由誰來響應, 如何處理對他來說是透明不可見的.
    2. Locator模式, Cairngorm中service, view, model的獲取都是通過Locator的,
    也就是說系統(tǒng)其他部分對于service, view, model只需要知道其ID就夠了, 其內部實現(xiàn)等待細節(jié)都是不需要知道的.
    舉個例子, 傳統(tǒng)的方法: 你要找一個叫張三的人幫你干一件事, 你需要知道張三長什么樣,
    然后在一個坐著10個人的大辦公室里找到他, 告訴他你的要求.
    而現(xiàn)在在這個大辦公室的門口多了一個前臺小姐, 你只需要告訴這個小姐,我要找張三, 然后她會幫你去找,
    你根本不需要知道張三的模樣.

    RIA的優(yōu)點: 由于Flex的原因, 系統(tǒng)處理是異步的.
    比如, 你請求了一個比較耗時的數(shù)據(jù)庫讀取操作, 請求發(fā)出后, 你就可以進行其他操作了, 服務結束會產(chǎn)生相應事件,
    然后由Command進行后續(xù)處理, 最后引發(fā)頁面數(shù)據(jù)更新.



    主站蜘蛛池模板: 激情亚洲一区国产精品| 久久亚洲AV无码精品色午夜麻| 亚洲精品午夜视频| 98精品全国免费观看视频| 亚洲精品一品区二品区三品区| 国产日韩AV免费无码一区二区三区| 亚洲性日韩精品一区二区三区| 好吊色永久免费视频大全| 精品国产香蕉伊思人在线在线亚洲一区二区| 自拍偷自拍亚洲精品播放| 亚洲va中文字幕无码| g0g0人体全免费高清大胆视频| 中文字幕亚洲激情| 午夜视频在线免费观看| 亚洲乱码无限2021芒果| 免费无码又爽又刺激毛片| 美女黄频a美女大全免费皮| 亚洲人成网站在线观看播放| 在线观看特色大片免费网站| 久久精品蜜芽亚洲国产AV| 在线观看无码AV网站永久免费| 亚洲中文字幕久在线| 日本一区免费电影| 大地资源中文在线观看免费版| 亚洲字幕在线观看| 青青青青青青久久久免费观看| 国产精品免费一区二区三区| 亚洲尹人九九大色香蕉网站| 午夜影视在线免费观看| 在线观看黄片免费入口不卡| 亚洲免费在线视频播放| 免费国产成人午夜私人影视| 黄色网址在线免费| 97久久国产亚洲精品超碰热| 亚洲精品动漫人成3d在线 | 亚洲精品无码日韩国产不卡?V | 1000部拍拍拍18勿入免费视频下载 | 亚洲一区中文字幕久久| 在线观看视频免费国语| 最近免费字幕中文大全| 亚洲中文无码亚洲人成影院|