posts - 59,  comments - 323,  trackbacks - 0

            結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)、行為(Behavior),是Web開發(fā)標(biāo)準(zhǔn)中的一個(gè)重要概念(以下簡稱SPB)。而模型(Model)、視圖(View)、控制器(Controller)的MVC模式呢,是圖形界面應(yīng)用的重要模式之一,自然也廣泛的用在了Web應(yīng)用的開發(fā)之中。

            最近熱門起來的Ajax技術(shù),又刺激了人們對(duì)于MVC模式的更多思考。本文的很多觀點(diǎn)得到了jasonhsu的一篇論文《基于遞歸MVC結(jié)構(gòu)的Web應(yīng)用軟件分析模式》的啟發(fā),特此感謝。

           

            現(xiàn)在我們要考慮技術(shù)范疇:SPB、MVC與Ajax之間的相互關(guān)系,或者說,在采用Ajax技術(shù)的Web應(yīng)用中,SPB與MVC之間,應(yīng)該是怎樣的一種關(guān)系。

            左邊是一個(gè)標(biāo)準(zhǔn)的SPB模型,結(jié)構(gòu)通過CSS渲染之后,顯示給用戶。JavaScript可以通過DOM API以及DOM Event與結(jié)構(gòu)交互。

            右邊則是我將JavaScript部分放大之后的情況。

           

            大致上,我們寫一個(gè)稍微復(fù)雜一些的Ajax應(yīng)用的時(shí)候,JavaScript部分,就應(yīng)該一分為三。一部分是用來做DOM與Style控制。另一部分則專心與Server打交道,通常就是用XMLHTTP了,然后將獲取的數(shù)據(jù),在瀏覽器中構(gòu)建一個(gè)Model層。再一部分就是表現(xiàn)層的業(yè)務(wù)邏輯,主要需要處理各種Event,做出正確的反饋。

           

            這樣的三個(gè)部分,順理成章的,也就成了Browser中的MVC了。

           

            寫完這點(diǎn)東西之后,我再次看了一下jasonhsu的文章,以及Ajax in Action中的第四章《The page as an application》,發(fā)現(xiàn)我的思路似乎與Ajax in Action中的思路幾乎完全一致,而與jasonhsu的有所差別。

           

            雖然人家已經(jīng)說了,不過我畢竟是自己想通了這一層的,嘿嘿。

          posted on 2006-01-26 23:52 讀書、思考、生活 閱讀(868) 評(píng)論(1)  編輯  收藏


          FeedBack:
          # re: 結(jié)構(gòu)、表現(xiàn)、行為與MVC的關(guān)系
          2006-01-27 09:56 | -=Kino=-
          我也是這樣認(rèn)為的。確實(shí)像你所說。前一陣子用js寫了一棵ajax的web樹。
          我認(rèn)為你說的

          DOM Style部分具體一點(diǎn)可以理解為通過XMLHttp返回的xml數(shù)據(jù)對(duì)象進(jìn)行tohtml化的操作。

          與Server打交道很明顯

          關(guān)于Event處理,我覺得如果要求不高,可以省略,因?yàn)橹剌d所有的onXXX()無可厚非,但是對(duì)于普通用戶來說構(gòu)建這樣一個(gè)復(fù)雜的js對(duì)象結(jié)構(gòu)確實(shí)要費(fèi)點(diǎn)腦子。那么這一層完全可以融合到DOM層拼裝。


            回復(fù)  更多評(píng)論
            
          <2006年1月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(20)

          隨筆檔案

          友情BLOG

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 娱乐| 吉首市| 枣强县| 天柱县| 浠水县| 宁武县| 龙南县| 屏边| 吉安县| 巴中市| 邮箱| 淳安县| 西峡县| 铜鼓县| 金川县| 南溪县| 大连市| 五大连池市| 来凤县| 哈尔滨市| 昭觉县| 恩平市| 宿州市| 平山县| 偏关县| 剑阁县| 嘉荫县| 惠水县| 新乡县| 邹城市| 准格尔旗| 苍溪县| 贺兰县| 龙海市| 云龙县| 宜兰县| 长治县| 枣庄市| 高唐县| 什邡市| 隆昌县|