-
MVC的全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě),是一種軟件設(shè)計(jì)典范。它是用一種業(yè)務(wù)邏輯、數(shù)據(jù)與界面顯示分離的方法來(lái)組織代碼,將眾多的業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在需要改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫(xiě)業(yè)務(wù)邏輯,達(dá)到減少編碼的時(shí)間。
image.png -
MVC開(kāi)始是存在于桌面程序中的,M是指業(yè)務(wù)模型,V是指用戶界面,C則是控制器。
使用的MVC的目的:在于將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如Windows系統(tǒng)資源管理器文件夾內(nèi)容的顯示方式,下面兩張圖中左邊為詳細(xì)信息顯示方式,右邊為中等圖標(biāo)顯示方式,文件的內(nèi)容并沒(méi)有改變,改變的是顯示的方式。不管用戶使用何種類(lèi)型的顯示方式,文件的內(nèi)容并沒(méi)有改變,達(dá)到M和V分離的目的。
在網(wǎng)頁(yè)當(dāng)中,V即View視圖是指用戶看到并與之交互的界面。比如由html元素組成的網(wǎng)頁(yè)界面,或者軟件的客戶端界面。MVC的好處之一在于它能為應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。
M即model模型是指模型表示業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。被模型返回的數(shù)據(jù)是中立的,模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù),由于應(yīng)用于模型的代碼只需寫(xiě)一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。
C即controller控制器是指控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求,控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后再確定用哪個(gè)視圖來(lái)顯示返回的數(shù)據(jù)。
下圖說(shuō)明了三者之間的調(diào)用關(guān)系。
image.png -
用戶首先在界面中進(jìn)行人機(jī)交互,然后請(qǐng)求發(fā)送到控制器,控制器根據(jù)請(qǐng)求類(lèi)型和請(qǐng)求的指令發(fā)送到相應(yīng)的模型,模型可以與數(shù)據(jù)庫(kù)進(jìn)行交互,進(jìn)行增刪改查操作,完成之后,根據(jù)業(yè)務(wù)的邏輯選擇相應(yīng)的視圖進(jìn)行顯示,此時(shí)用戶獲得此次交互的反饋信息,用戶可以進(jìn)行下一步交互,如此循環(huán)。
image.png
《ASP.NET編程》15-ASP.NET MVC簡(jiǎn)介
還有 48% 的精彩內(nèi)容
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。
支付 ¥1.00 繼續(xù)閱讀


