網(wǎng)頁設(shè)計基礎(chǔ) 簡述什么是MVC模式?
簡述什么是MVC模式?設(shè)計模式是一套反復(fù)使用、成功的代碼設(shè)計經(jīng)驗總結(jié)。模式必須是典型問題(而不是單個問題)的解決方案。在MVC設(shè)計模式中,采用了模型和控制器相結(jié)合的設(shè)計方法。1、 首先,我們簡要描述一
簡述什么是MVC模式?
設(shè)計模式是一套反復(fù)使用、成功的代碼設(shè)計經(jīng)驗總結(jié)。模式必須是典型問題(而不是單個問題)的解決方案。在MVC設(shè)計模式中,采用了模型和控制器相結(jié)合的設(shè)計方法。1、 首先,我們簡要描述一下MVC設(shè)計模式的組成:(1)m(model)模型:處理業(yè)務(wù)邏輯,對應(yīng)的組件是JavaBean(Java類);(2)V(view)視圖層:顯示查詢結(jié)果和采集用戶數(shù)據(jù),對應(yīng)的組件是JSP或HTML文件;(3) C(controller)控制器層:接收視圖請求并將請求傳遞到相應(yīng)的模型中,對應(yīng)的組件為servlet;(4)功能:實現(xiàn)代碼分離,降低耦合度。模型可以分為業(yè)務(wù)邏輯和數(shù)據(jù)模型,它們表示應(yīng)用程序的業(yè)務(wù)邏輯和狀態(tài)。視圖提供了一個交互式的客戶界面來向客戶顯示模型數(shù)據(jù)??刂破黜憫?yīng)客戶的請求,根據(jù)客戶的請求操作模型,并從視圖中向客戶顯示模型的響應(yīng)結(jié)果。MVC模式2。MVC設(shè)計模式的優(yōu)點和好處(1)。每一層都履行自己的職責,互不干涉。在MVC模式下,每一層都有自己的職責。因此,如果任何一層的要求發(fā)生變化,只需要相應(yīng)層中的代碼發(fā)生變化,其他層不會受到影響。(2) 在MVC模式下,由于系統(tǒng)是分層的,可以更好地實現(xiàn)開發(fā)中的分工。Web設(shè)計人員可以開發(fā)JSP頁面,熟悉業(yè)務(wù)的開發(fā)人員可以在模型中開發(fā)相關(guān)的業(yè)務(wù)處理方法,而其他開發(fā)人員可以開發(fā)用于程序控制的控制器。(3) 例如,控制層可以獨立地做成通用組件,視圖層也可以做成通用操作界面。MVC最重要的特點是顯示和數(shù)據(jù)的分離,提高了各個模塊的可重用性。3、 在MVC編程模式下,servlet接收客戶端請求,調(diào)用相應(yīng)的模型對業(yè)務(wù)邏輯和數(shù)據(jù)進行處理,然后根據(jù)處理結(jié)果選擇相應(yīng)的JSP或HTML文件響應(yīng)客戶端。
為什么需要MVC設(shè)計模式?
“MVC”模式是“模型視圖控制器”模式。在這種模式下,用JSP技術(shù)表示頁面,用servlet技術(shù)完成大量的事務(wù)處理,實現(xiàn)用戶的業(yè)務(wù)邏輯。在這種模式下,servlet用于處理請求的事務(wù),并充當控制器(controller,即“C”)的角色。servlet負責響應(yīng)客戶對業(yè)務(wù)邏輯的請求,并根據(jù)用戶的請求行為決定向客戶發(fā)送哪個JSP頁面。JSP頁面位于表示層,即視圖的角色(視圖為“V”)。JavaBean負責數(shù)據(jù)處理,即角色模型。Servlet-JSP-JavaBean(MVC)模式適合于開發(fā)復(fù)雜的web應(yīng)用程序。在這種模式下,servlet負責處理用戶請求,JSP負責數(shù)據(jù)顯示,JavaBean負責封裝數(shù)據(jù)。ServletJSP、JavaBean模式各模塊之間的程序?qū)哟吻逦?,web開發(fā)推薦此模式。MVC模型-視圖-控制器模型是20世紀80年代中期在Smalltalk-80gui(一種經(jīng)典的面向?qū)ο缶幊陶Z言)的實驗室中發(fā)明的,根據(jù)MVC模式,軟件應(yīng)該將業(yè)務(wù)邏輯(模型)和顯示(視圖)分開。分離有很多優(yōu)點,其中最重要的是兩個方面:1。同一業(yè)務(wù)邏輯層(模型)可能對應(yīng)于多個顯示層(視圖)。如果將業(yè)務(wù)邏輯層和顯示層放在一起,添加另一個顯示層將大大增加組件的復(fù)雜性。一個面向兩個顯示層的業(yè)務(wù)邏輯的例子是:銀行賬戶的業(yè)務(wù)邏輯層對應(yīng)于ATM和Internet。
2. 通常,不必每次修改顯示層時都修改業(yè)務(wù)邏輯層。