簡(jiǎn)述MVC設(shè)計(jì)模式 mvc使用什么設(shè)計(jì)模式?
mvc使用什么設(shè)計(jì)模式?MVC模式及如何使用MVC的說(shuō)明如下:模型-視圖-控制器(MVC模式)是一種非常經(jīng)典的軟件體系結(jié)構(gòu)模式,在UI框架和UI設(shè)計(jì)思想中起著非常重要的作用。從設(shè)計(jì)模式的角度來(lái)看,MV
mvc使用什么設(shè)計(jì)模式?
MVC模式及如何使用MVC的說(shuō)明如下:模型-視圖-控制器(MVC模式)是一種非常經(jīng)典的軟件體系結(jié)構(gòu)模式,在UI框架和UI設(shè)計(jì)思想中起著非常重要的作用。從設(shè)計(jì)模式的角度來(lái)看,MVC模式是一種復(fù)合模式,它將多種設(shè)計(jì)模式結(jié)合在一個(gè)解決方案中,以解決許多設(shè)計(jì)問(wèn)題。MVC模式將用戶界面交互劃分為三個(gè)不同的角色,將應(yīng)用劃分為三個(gè)核心組件:模型、視圖和控件。它們處理自己的任務(wù):(1)模型:模型包含所有的數(shù)據(jù)、狀態(tài)和程序邏輯。模型獨(dú)立于視圖和控制器。(2) 視圖:用于渲染模型。視圖通常直接從模型中獲取需要顯示的狀態(tài)和數(shù)據(jù)。對(duì)于相同的信息,可以有多個(gè)不同的顯示窗體或視圖。(3) 控制器:位于視圖和模型的中間,負(fù)責(zé)接收用戶輸入,解析輸入并反饋給模型。通常,視圖只有一個(gè)控制器。
為什么需要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)模式適合于開(kāi)發(fā)復(fù)雜的web應(yīng)用程序。在這種模式下,servlet負(fù)責(zé)處理用戶請(qǐng)求,JSP負(fù)責(zé)數(shù)據(jù)顯示,JavaBean負(fù)責(zé)封裝數(shù)據(jù)。ServletJSP、JavaBean模式各模塊之間的程序?qū)哟吻逦瑆eb開(kāi)發(fā)推薦此模式。MVC模型-視圖-控制器模型是20世紀(jì)80年代中期在Smalltalk-80gui(一種經(jīng)典的面向?qū)ο缶幊陶Z(yǔ)言)的實(shí)驗(yàn)室中發(fā)明的,根據(jù)MVC模式,軟件應(yīng)該將業(yè)務(wù)邏輯(模型)和顯示(視圖)分開(kāi)。分離有很多優(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ù)邏輯層。