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

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

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

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    回憶 MVC

    Posted on 2009-05-23 11:18 Gavin.lee 閱讀(201) 評論(0)  編輯  收藏 所屬分類: web 積累(前端 + 后臺)
    今天外面的雨在狂飆,從凌晨飆到現在,似乎還沒有停的意思,剛起來,不知怎么地想起來查一下MVC,太經典的一個模式了,現在基本上對我來說就沒用了,可不能忘了,于是乎從網上找點資料,結合自己的理解,給記錄下來,O(∩_∩)O~,要是真給忘了那就劃不來了。
    網絡上說的五花八門的,我就按照我目前所理解的談吧。多了我也談不了····

    MVC就是我們常說的Model2,在設計模式中,要求在Apllication開發中把商務邏輯、界面顯示、數據分離。
        Model,View,Controller
    使用java開發Web Application有幾種符合MVC設計模式的開發方式:
         <V + C + M>
    1.Jsp + servlet + javaBean(EJB)
    2.Jsp + javaBean + javaBean  <沒用過>
    4.Jsp + Struts + javaBean(EJB)

    2009-6-13 22:40:16,本來是從網上找文件上傳下載的,看到這篇文章挺簡練的,摘下來:http://lylyb.javaeye.com/blog/166557
    MVC英文即Model-View-Controller,即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成三個層——模型層、視圖層、控制層。
           視圖(View)代表用戶交互界面,對于Web應用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應用的復雜性和規模性,界面的處理也變得具有挑戰性。一個應用可能有很多不同的視圖,MVC設計模式對于視圖的處理僅限于視圖上數據的采集和處理,以及用戶的請求,而不包括在視圖上的業務流程的處理。業務流程的處理交予模型(Model)處理。比如一個訂單的視圖只接受來自模型的數據并顯示給用戶,以及將用戶界面的輸入數據和請求傳遞給控制和模型。
           模型(Model):就是業務流程/狀態的處理以及業務規則的制定。業務流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數據,并返回最終的處理結果。業務模型的設計可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應用例子,它從應用技術實現的角度對模型做了進一步的劃分,以便充分利用現有的組件,但它不能作為應用設計模型的框架。它僅僅告訴你按這種模型設計就可以利用某些技術組件,從而減少了技術上的困難。對一個開發者來說,就可以專注于業務模型的設計。MVC設計模式告訴我們,把應用的模型按一定的規則抽取出來,抽取的層次很重要,這也是判斷開發人員是否優秀的設計依據。抽象與具體不能隔得太遠,也不能太近。MVC并沒有提供模型的設計方法,而只告訴你應該組織管理這些模型,以便于模型的重構和提高重用性。我們可以用對象編程來做比喻,MVC定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點對編程的開發人員非常重要。
         業務模型還有一個很重要的模型那就是數據模型。數據模型主要指實體對象的數據 保存(持續化)。比如將一張訂單保存到數據庫,從數據庫獲取訂單。我們可以將這個模型單獨列出,所有有關數據庫的操作只限制在該模型中。
      控制(Controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求。控制層并不做任何的數據處理。例如,用戶點擊一個連接,控制層接受請求后, 并不處理業務信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應多個視圖,一個視圖可能對應多個模型。

         模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數據,所有其它依賴于這些數據的視圖都應反映到這些變化。因此,無論何時發生了何種數據變化,控制器都會將變化通知所有的視圖,導致顯示的更新。




    主站蜘蛛池模板: 亚洲人成电影在在线观看网色| 亚洲六月丁香婷婷综合| 秋霞人成在线观看免费视频| 亚洲黄色在线观看| 在线观看国产情趣免费视频| a级精品九九九大片免费看| 亚洲人成网站在线观看播放动漫 | 一二三四免费观看在线视频中文版| 亚洲国产精品精华液| 色噜噜亚洲精品中文字幕 | 波多野结衣久久高清免费| 日本一区二区三区在线视频观看免费| 亚洲gv猛男gv无码男同短文| 永久黄网站色视频免费观看| 久久午夜夜伦鲁鲁片无码免费| 亚洲精品无码专区在线播放| 亚洲AV无码精品色午夜在线观看| 日韩在线免费看网站| 国内精品久久久久影院免费| 亚洲人成网站18禁止| 亚洲大尺度无码无码专区| 在线日韩av永久免费观看| 亚洲午夜免费视频| 国产亚洲成在线播放va| 亚洲制服丝袜在线播放| 亚洲国产另类久久久精品小说| 免费观看毛片视频| 最近2018中文字幕免费视频| 日本一区二区在线免费观看 | 国产jizzjizz免费视频| 亚洲最大免费视频网| 中文无码日韩欧免费视频| 亚洲一本到无码av中文字幕| 亚洲人成在线播放网站岛国| 亚洲国产精品专区在线观看| 猫咪社区免费资源在线观看 | 亚洲国产成人一区二区精品区| 久久综合给合久久国产免费| 特级毛片免费播放| 亚洲日本va在线观看| 亚洲色欲久久久综合网东京热|