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

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

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

    何時,紗窗外,風搖翠竹

    常用鏈接

    統(tǒng)計

    最新評論

    • 1.?re: 慎用AJAX框架
    • AJAX是中國技術(shù)領(lǐng)域的紅燈區(qū)。。想爽,但又怕潛伏著危險。。。
    • --阿斯頓飛
    • 2.?re: 慎用AJAX框架
    • 評論內(nèi)容較長,點擊標題查看
    • --夏如嘏
    • 3.?re: 慎用AJAX框架
    • ajax 要懂的原理,同意樓主,框架慎用
    • --驕傲
    • 4.?re: 慎用AJAX框架
    • @讀書、思考、生活
      2、bug滿天飛,那就說明是水平不到家
      您的水平能高到?jīng)]有bug?
    • --樓主
    • 5.?re: 慎用AJAX框架
    • 只要你懂xmlhttp,為什么非要用ajax呢,我從2000年開始使用xmlhttp,ajax剛出來的時候看了一眼,冷笑一聲。所以爭論沒有意義,到處都是新瓶裝老酒的故事
    • --挨踢的貨

    頓悟 - 基于事件驅(qū)動模型架構(gòu)Flex程序

       原文地址: http://www.pjade.com/html/study/20070703/27.html

        這些天一直在為Flex程序中的各個組件之間有效的傳遞參數(shù),協(xié)調(diào)組件間的行為等問題感到困惑。由于Flex程序?qū)嶋H上是一個運行在客戶機上的的客戶端程序,因此在Flex內(nèi)部組件之間無法像B/S程序基于HTTP協(xié)議那樣發(fā)一個請求,由服務(wù)器端通過一個標準接口讀出參數(shù),處理并做出響應(yīng)。也就是說用表單、URL的方式傳遞參數(shù)和控制流程肯定是行不通的。前一段時間一直嘗試像Javascript中那樣用函數(shù)調(diào)用,甚至是全局變量來做,感覺越做越復雜,程序的OO結(jié)構(gòu)也受到很大的破壞,十分的煩惱。

         今天整理書架時無意中看到了壓了多年箱底的那本《深入淺出MFC》,一下子回想起VC和MFC框架中的最核心的事件處理機制,再想到以前研究flexstore源碼時看見過基于事件來控制程序行為的代碼,頓時有一種醍醐灌頂?shù)母杏X!! Flex 的客戶端程序基本上是一種基于組件的C/S程序,而當年VC、VB、Dephi等等C/S程序無一例外的都是基于事件驅(qū)動的!當年侯先生正是由于在《深入淺出MFC》一書中深入的剖析了MFC框架中的事件流的機制,揭示了在API的背后數(shù)據(jù)是如何被分發(fā)和處理的過程而名揚五洲。“消息為基礎(chǔ)、事件驅(qū)動之”這句話則是在Windows編程中最基本和最重要的概念,也是C/S程序編程中的最重要的概念之一,在搞了多年B/S程序開發(fā)之后,我卻是已經(jīng)將這句當年自以為完全理解的觀念拋到腦后去了,想來也挺有意思,看來雖著RIA的發(fā)展和推廣,事件驅(qū)動模型這一度幾乎被棄用東西又要大行其道了。

        其實一直以來事件驅(qū)動從來沒有遠離過我們,網(wǎng)頁中一個對某個按鈕的onclick事件的觸發(fā),便是事件驅(qū)動的一個應(yīng)用,但是我卻忘記了在這些基于組件的實現(xiàn)的編程模型中的事件驅(qū)動所起到的靈魂作用。和B/S程序中請求/響應(yīng)的模式不同,事件驅(qū)動實現(xiàn)的是請求/訂閱的方式,二者從架構(gòu)到編程都有很大的區(qū)別,我用B/S的思維模式去寫事件驅(qū)動的程序,不亂才怪!事件驅(qū)動的技術(shù)原理實際上是比較簡單的,Observer模式對它有很好的總結(jié),感興趣的朋友可以自己看一下。我這次最大的問題實際是來自于思維模式上,其實只需要:放棄用請求觸發(fā)行為的想法,改用事件觸發(fā)!

        當然Flex程序并不是像VC那樣的純C/S程序,它一樣需要用請求/響應(yīng)的方式完成很多的功能。今天簡單的思考了一下,覺得Flex程序應(yīng)該這樣架構(gòu):

    1. Flex程序的整體架構(gòu)要基于事件驅(qū)動模型來架構(gòu)(事實是這種基于組件的編程方式你必須基于事件驅(qū)動來構(gòu)架)。這樣的好處不光是易于實現(xiàn)功能,而且由于事件驅(qū)動松耦合的特點,也方便于設(shè)計一個很好的系統(tǒng)結(jié)構(gòu)。
    2. 對Flex程序本身,各個模塊也基于事件驅(qū)動的模型按分層、分組件的方式層層搭建。
    3. 對于需要和Flex程序配合使用的服務(wù)器端程序,還是要嚴格按照MVC模式構(gòu)建。
    4. 對于需要和服務(wù)器端交互的flex客戶端程序模塊,利用flex遠程調(diào)用的異步特性,在向服務(wù)器端請求,接收到響應(yīng)數(shù)據(jù)后觸發(fā)相應(yīng)的事件,依然走事件驅(qū)動的路子。

    posted on 2007-07-05 10:12 weidy 閱讀(2162) 評論(3)  編輯  收藏 所屬分類: RIA

    評論

    # re: 頓悟 - 基于事件驅(qū)動模型架構(gòu)Flex程序 2007-07-16 12:17 abent

    呵呵,深有同感啊,其實Flex應(yīng)用就是一種批上B/S外衣的C/S,要按照C/S的思維和模式去設(shè)計.  回復  更多評論   

    # re: 頓悟 - 基于事件驅(qū)動模型架構(gòu)Flex程序 2007-07-16 23:10 weidy

    @abent
    兄臺也在開發(fā)Flex程序么,好的很啊,有機會多交流。Flex程序的架構(gòu)確實給我們提出了新的挑戰(zhàn),客戶端C/S,整體又要B/S,然后還需要能脫離B/S單獨轉(zhuǎn)C/S,模式很新。我倒是聽說有一些框架可用,不過目前還不打算用,還是想自己先探索一下,也可以理解的深一些。  回復  更多評論   

    # re: 頓悟 - 基于事件驅(qū)動模型架構(gòu)Flex程序 2007-10-15 14:15 烈焰波痕

    說Flex是披上B/S外衣的C/S,也許吧。但要我說的話,是以Server端的開發(fā)思路開發(fā)Client。
    如果要用Flex開發(fā)RIA, 客戶端的MVC模式是必須存在的,而不僅僅是Event驅(qū)動,Event是一種控制流,但是根本上Model的建模才是最主要的,這要求不僅僅在Server端建模,而且在Client端也需要建模,而不再是以前B/S那樣,客戶端僅僅是一個表現(xiàn)層和用戶交互層。
    之所以以前B/S開發(fā)忽略了pub/sub,那是因為它在客戶端本地根本就沒有建模,本地根本就是一個SnapShot。在服務(wù)器端開發(fā)MVC可能沒有事件么?  回復  更多評論   


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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 四虎影永久在线高清免费| 亚洲国产高清在线| 亚洲av日韩片在线观看| 亚洲人成网站免费播放| baoyu116.永久免费视频| 精品国产日韩亚洲一区| 亚洲videos| 成人影片麻豆国产影片免费观看| 亚洲日韩精品无码AV海量| 国产成人在线免费观看| 一个人看的免费高清视频日本| 亚洲国产V高清在线观看| 久久久免费观成人影院| 大地资源二在线观看免费高清| 亚洲国产成人久久一区二区三区| 免费看无码特级毛片| 女人18毛片水真多免费看| 亚洲精品欧美综合四区| 亚洲麻豆精品国偷自产在线91| 中文字幕免费人成乱码中国| 午夜亚洲国产理论秋霞| 免费毛片a在线观看67194| 亚洲精品福利视频| 国产一卡2卡3卡4卡2021免费观看| 亚洲欧美日韩中文二区| 亚洲无码高清在线观看| 99久久久国产精品免费牛牛| 亚洲天堂一区二区三区| 免费A级毛片无码A∨| 亚洲 暴爽 AV人人爽日日碰| 3344免费播放观看视频 | 8090在线观看免费观看| 亚洲精品无码MV在线观看| 成人国产网站v片免费观看| 亚洲成AV人片在线观看| 国产精品视频永久免费播放| 一级人做人a爰免费视频| 亚洲白色白色在线播放| 亚洲第一页综合图片自拍| 亚洲一级毛片免费看| 猫咪免费人成在线网站|