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

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

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

    posts - 84,  comments - 54,  trackbacks - 0

    圖1-1展示了在經典MVC中的事件流。用戶與視圖(View)進行交互,填入數據并點擊按鈕,控制器(Controller)接收到來自視圖的事件并對模型(Model)進行操作,根據用戶提供的數據更新模型(Model)。視圖也會接到“模型改變”的事件通知,因此它會隨著模型而更新,將模型更新的結果顯示給用戶。我們通過注冊更多的事件監聽器對多個視圖和控制器進行配置,以便讓它們使用相同的共享模型。這種模式在單機且實時更新的應用程序中可以起到很好的作用。但是,在Web世界中,這種經典的MVC模式就失效了。在Web世界中,視圖是在客戶端的瀏覽器中生成的,而控制器和模型則是在服務器端,圖1-1很清楚地展示了設計的方法。但糟糕的是,這在HTTP和HTML的世界里是行不通的。因此,使用HTTP請求/響應模式的Web應用程序需要一個與MVC截然不同的設計,這個設計借用了MVC的名稱和一些方式。



    在Web版本的MVC中,視圖是不能如圖1-1所示的那樣直接調用控制器的,但是可以基于Web請求映射成不同的URL。視圖不是一個可以被更新的對象,而是在客戶端發出一個新請求的時候隨之重新呈現的Web頁面。同時,模型也不能將自身的改變通知視圖,因為視圖呈現于另外一臺計算機的用戶瀏覽器中。因此,視圖每次都需要依照最新的數據重新生成。

    圖1-2? Web應用程序中的MVC事件流圖1-2展示了應用在Web應用程序的MVC事件流。
    在Web世界中的經典MVC應用程序是通過使用前端控制器模式來實現的。這個模式包含了一個分發器(在Java的Web MVC實現中,通過Servlet來實現分發器),而分發器將請求URL映射至需要被執行的命令實例(Command Instance),命令實例在WebWork或者Struts中就是action。action與系統后端的服務進行交互,通常這些服務會組合在一起作為模型。命令實例在處理完業務邏輯之后返回一個碼值,而這個返回碼會映射到某一個視圖(通常是一個Web頁面模板,譬如JSP)。最后,結合控制器和模型,視圖將會呈現給用戶。通常視圖會使用標簽庫,以便更簡單地訪問數值。

    ????????????


    ?????? 圖1-3和圖1-4展示了控制面板的兩種實現——前端控制器實現和頁面控制器實現之間的區別。由于X、Y和Z部分職責的分離,頁面控制器可能看起來更加模塊化一些,但是良好的面向對象設計也可以實現一個模塊化的前端控制器。如果你熟悉Struts,前端控制器模式看起來會更熟悉。即使你不熟悉其他的Web框架,前端控制器模式也應該是收集并呈現數據的最直接的方式了。盡管如此,一些框架則因為頁面控制器模式鼓勵封裝而應用之,如圖1-4所示。幸運的是,WebWork同時支持這兩種實現,將兩者的優點都呈現于你的面前

    根據我們的經驗,框架可以極大地提高開發效率。為了能夠滿足用戶的需求并且應對來自不斷改變的商業世界的挑戰,我們強烈推薦你在構建Web應用程序的時候充分發揮MVC設計模式的優勢。事實上,絕大多數的開發人員并不會自己從零開始寫一個MVC框架,而是在已有框架(譬如WebWork)的基礎上進行改進。


    ??????







    使用前端控制器MVC模式設計的控制面板的實現




    使用頁面控制器MVC模式設計的控制面板的實現







    posted on 2007-01-09 21:45 JavaCoffe 閱讀(395) 評論(0)  編輯  收藏 所屬分類: Struts&&WebWork
    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(5)

    隨筆分類(80)

    收藏夾(1)

    最新隨筆

    積分與排名

    • 積分 - 58039
    • 排名 - 897

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 国产四虎免费精品视频| 99久久人妻精品免费二区| 国产97视频人人做人人爱免费| WWW国产成人免费观看视频| 国产猛男猛女超爽免费视频| 1000部啪啪未满十八勿入免费| 青青久在线视频免费观看| 一区二区三区亚洲视频| 亚洲精品国产字幕久久不卡| 亚洲福利视频网址| 亚洲国产精品日韩av不卡在线| 九九综合VA免费看| 外国成人网在线观看免费视频| 日韩av无码成人无码免费| 亚洲精品无码久久毛片| 亚洲电影一区二区三区| 77777午夜亚洲| 搜日本一区二区三区免费高清视频| 久久精品国产免费| 成年丰满熟妇午夜免费视频| 亚洲一区日韩高清中文字幕亚洲 | 亚洲国产精品无码成人片久久| 亚洲黄色在线视频| 久久水蜜桃亚洲AV无码精品| 日本道免费精品一区二区| 四虎国产精品免费久久| 久久久久亚洲av毛片大| 亚洲人成网站在线观看播放动漫| 麻豆91免费视频| 最近中文字幕免费完整| 免费播放春色aⅴ视频| 精品亚洲成AV人在线观看| 无人视频免费观看免费视频| 91精品免费不卡在线观看| 凹凸精品视频分类国产品免费| 亚洲综合日韩中文字幕v在线| 亚洲AV成人精品日韩一区| 99精品视频在线观看免费专区 | 亚洲女同成人AⅤ人片在线观看| 中文字幕亚洲精品资源网| 成人免费网站视频www|