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