java怎么自學(xué) MVC設(shè)計(jì)模式的最終目的是什么?
MVC設(shè)計(jì)模式的最終目的是什么?MVC的全稱是model view controller,是model view controller的縮寫。它是一個(gè)軟件設(shè)計(jì)模型。它使用一種分離業(yè)務(wù)邏輯、數(shù)據(jù)和界面顯
MVC設(shè)計(jì)模式的最終目的是什么?
MVC的全稱是model view controller,是model view controller的縮寫。它是一個(gè)軟件設(shè)計(jì)模型。它使用一種分離業(yè)務(wù)邏輯、數(shù)據(jù)和界面顯示的方法來組織代碼,并將業(yè)務(wù)邏輯收集到一個(gè)組件中。它不需要重寫業(yè)務(wù)邏輯,同時(shí)改進(jìn)和個(gè)性化界面和用戶交互。MVC是為在邏輯圖形用戶界面體系結(jié)構(gòu)中映射傳統(tǒng)的輸入、處理和輸出功能而開發(fā)的。
為什么需要MVC設(shè)計(jì)模式?
“MVC”模式是“模型視圖控制器”模式。在這種模式下,用JSP技術(shù)表示頁(yè)面,用servlet技術(shù)完成大量的事務(wù)處理,實(shí)現(xiàn)用戶的業(yè)務(wù)邏輯。在這種模式下,servlet用于處理請(qǐng)求的事務(wù),并充當(dāng)控制器(controller,即“C”)的角色。servlet負(fù)責(zé)響應(yīng)客戶對(duì)業(yè)務(wù)邏輯的請(qǐng)求,并根據(jù)用戶的請(qǐng)求行為決定向客戶發(fā)送哪個(gè)JSP頁(yè)面。JSP頁(yè)面位于表示層,即視圖的角色(視圖為“V”)。JavaBean負(fù)責(zé)數(shù)據(jù)處理,即角色模型。Servlet-JSP-JavaBean(MVC)模式適合于開發(fā)復(fù)雜的web應(yīng)用程序。在這種模式下,servlet負(fù)責(zé)處理用戶請(qǐng)求,JSP負(fù)責(zé)數(shù)據(jù)顯示,JavaBean負(fù)責(zé)封裝數(shù)據(jù)。ServletJSP、JavaBean模式各模塊之間的程序?qū)哟吻逦?,web開發(fā)推薦此模式。MVC模型-視圖-控制器模型是20世紀(jì)80年代中期在Smalltalk-80gui(一種經(jīng)典的面向?qū)ο缶幊陶Z(yǔ)言)的實(shí)驗(yàn)室中發(fā)明的,根據(jù)MVC模式,軟件應(yīng)該將業(yè)務(wù)邏輯(模型)和顯示(視圖)分開。分離有很多優(yōu)點(diǎn),其中最重要的是兩個(gè)方面:1。同一業(yè)務(wù)邏輯層(模型)可能對(duì)應(yīng)于多個(gè)顯示層(視圖)。如果將業(yè)務(wù)邏輯層和顯示層放在一起,添加另一個(gè)顯示層將大大增加組件的復(fù)雜性。一個(gè)面向兩個(gè)顯示層的業(yè)務(wù)邏輯的例子是:銀行賬戶的業(yè)務(wù)邏輯層對(duì)應(yīng)于ATM和Internet。
2. 通常,不必每次修改顯示層時(shí)都修改業(yè)務(wù)邏輯層。