MVC設(shè)計模式是一種使用模型(Model)——視圖(View)——–控制器(Controller)方式設(shè)計web程序的軟件設(shè)計模式。
使用MVC設(shè)計模式的目的是為了使M(模型)和V(視圖)分離,使得同一個程序有不同的表現(xiàn)形式,比如同一組數(shù)據(jù)可以使用柱狀圖和餅狀圖
視圖:用戶看到并且與之交互的界面
模型:表示業(yè)務(wù)數(shù)據(jù)并提供數(shù)據(jù)給視圖
控制器:接受用戶的輸入并調(diào)用視圖和模型去完成用戶的需求,作用于視圖和模型上
最典型的MVC實例就是 JSP—–Servlet—–JavaBean。
MVC的整個控制流程:
1、所有的用戶請求都被發(fā)送到控制器
2、控制器根據(jù)請求加載相應(yīng)的模型,并把模型附加到視圖上
3、附加了模型數(shù)據(jù)的視圖最終作為相應(yīng)發(fā)送給用戶
對于MVC設(shè)計模式來說,V(視圖)的定義是最清晰的,但是M(模型)和C(控制器)的一些職責(zé)很容易混淆。
一般來說分為兩種理解:
1、閉環(huán)黨
2、開放派
這里就直接將View和Model分開了,缺點是Controllor的職責(zé)過重。
MVC設(shè)計模式的優(yōu)點:
1、耦合性低
由于各個部件都是分離的,改造一個部件不會對其他兩個部件造成影響
2、重用性高
MVC本來就是為了能夠使一個程序能夠有多種表現(xiàn)形式,所以在不同的表現(xiàn)層下,其模型層和控制器是大致相同的
3、部署快
由于各個部件的分離,所以對于不同的部件,其工作人員可以專心工作自己的這一層
MVC設(shè)計模式的缺點:
1、沒有明確的定義
使用MVC需要精心的計劃,由于它的內(nèi)部原理比較復(fù)雜,所以需要花費一些時間去思考。同時由于模型和視圖要嚴(yán)格的分離,這樣也給調(diào)試應(yīng)用程序帶來了一定的困難。每個構(gòu)件在使用之前都需要經(jīng)過徹底的測試。(百度百科)
2、不適合中小型應(yīng)用程序
MVC的設(shè)計比較麻煩,所以對于一個小的應(yīng)用程序去按照標(biāo)準(zhǔn)的MVC設(shè)計,可能會得不償失。
本文轉(zhuǎn)載于CSDN VVVGG的原創(chuàng)博文
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。