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

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

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

    何時(shí),紗窗外,風(fēng)搖翠竹

    常用鏈接

    統(tǒng)計(jì)

    最新評(píng)論

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

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

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

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

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

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

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

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

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

    評(píng)論

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

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

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

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

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

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


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成人久久免费网站| 国产人成免费视频| 亚洲色大成网站www永久网站| 免费精品国产自产拍观看| 在线成人精品国产区免费| 国产精品亚洲专区在线观看 | 亚洲国产精品一区二区第一页免| 国产成人免费ā片在线观看老同学| 亚洲免费闲人蜜桃| 日韩精品亚洲aⅴ在线影院| 国产91色综合久久免费| 九九久久国产精品免费热6| 亚洲视频在线观看免费视频| 免费在线黄色网址| 亚洲精品网站在线观看不卡无广告| 十八禁无码免费网站| 亚洲av日韩av永久在线观看| 亚洲另类激情综合偷自拍| 免费国产在线观看| 无码国产精品一区二区免费虚拟VR| 无码 免费 国产在线观看91| 亚洲an日韩专区在线| 在线精品免费视频无码的| 好男人资源在线WWW免费| 亚洲欧美日韩中文二区| 337p欧洲亚洲大胆艺术| 国产精品亚洲综合一区| 毛片视频免费观看| 小日子的在线观看免费| 无遮挡免费一区二区三区| 亚洲无吗在线视频| 久久久久久亚洲精品成人| 91精品成人免费国产片| 久久久久久久久久免免费精品| 亚洲精品V天堂中文字幕| 亚洲精品免费在线视频| 精品国产亚洲一区二区三区| 亚洲M码 欧洲S码SSS222| 免费高清在线爱做视频| 欧美男同gv免费网站观看| 99热免费在线观看|