隨筆 - 7, 文章 - 4, 評論 - 2, 引用 - 0
          數據加載中……

          Model-View-Controller

          a. 問題

            如果開發一個企業級應用,只需要一種客戶端的話,那么一切都非常容易解決。但真實情況是,我們必須面對運行在各種設備上客戶端,象PDA,WAP瀏覽器以及運行在桌面上的瀏覽器,我們不得不開發不同的應用程序來處理來自不同客戶端的請求。數據訪問與現實將混淆在一起,可能會出現重復的數據訪問,導致整個開發周期沒有必要的延長。

            b. 建議的解決方法

            Model-View-Controller (MVC) 開發模式被證明是有效的處理方法之一。它可以分離數據訪問和數據表現。你可以開發一個有伸縮性的,便于擴展的控制器,來維護整個流程。如圖1所示為整個模式的結構。MVC模式可以被映射到多層企業級的J2EE應用上。

            § 所有的企業數據以及商業邏輯可以作為模式。

            § 視圖可以通過模式訪問數據,并根據客戶端的要求來顯示數據。視圖必須保證當模式改變的時候,數據顯示也必須同時改變。

            § 控制器用來結合模式和視圖,把客戶端來的請求轉換成模式能夠理解并執行的請求,并且根據請求以及執行結果來決定下一次顯示那一個視圖。

            根據以上的邏輯,你可以象這樣建立一個應用:

            § 應用的商業邏輯由MVC中的模式也就是EJB來表現。模式必須處理由控制器傳遞過來的對數據的訪問請求。

            § 多個頁面組成了MVC中的視圖,這些視圖必須隨模式一起更新。

            § 控制器是一系列接收用戶動作的對象,他們把用戶的請求轉換成模式可理解的請求,并決定顯示那一個頁面當模式處理完請求后。

          c. 要點

            § MVC結構適用于那些多用戶的,可擴展的,可維護的,具有很高交互性的系統。

            § MVC可以很好的表達用戶的交互和系統模式。

            § 很方便的用多個視圖來顯示多套數據,是系統很方便的支持其他新的客戶端類型。

            § 代碼重復達到最低。

            § 由于分離了模式中的流控制和數據表現,可以分清開發者的責任,另外,也可以加快產品推向市場的時間。

          posted on 2005-01-30 12:51 jacky 閱讀(378) 評論(0)  編輯  收藏 所屬分類: Design Patten


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


          網站導航:
           
          主站蜘蛛池模板: 古蔺县| 班戈县| 雷州市| 南召县| 蚌埠市| 纳雍县| 凤山县| 石门县| 忻州市| 普宁市| 苏州市| 玉溪市| 余干县| 水富县| 滦平县| 平度市| 高州市| 色达县| 广安市| 镇原县| 涿州市| 容城县| 楚雄市| 定安县| 息烽县| 甘泉县| 肇庆市| 兴城市| 绥化市| 琼结县| 浦城县| 瑞安市| 定州市| 马山县| 昌平区| 宁国市| 博野县| 吴川市| 凭祥市| 洱源县| 临泽县|