asp、net、mvc,、mvvm有什么本質(zhì)區(qū)別嗎?
網(wǎng)友解答: 謝謝邀請。MVC與MVVM是設(shè)計(jì)模式,它們與具體平臺技術(shù)無關(guān)。本質(zhì)上是一家,但后者層次更清晰,分工更明顯。MVC定義MVC全名是Model View Controller,是
謝謝邀請。
MVC與MVVM是設(shè)計(jì)模式,它們與具體平臺技術(shù)無關(guān)。本質(zhì)上是一家,但后者層次更清晰,分工更明顯。MVC定義MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫;
MVC最開始是存在于桌面程序中的, 現(xiàn)在WEB項(xiàng)目中也有 MVC,M是指業(yè)務(wù)模型,V是指用戶界面,C則是控制器;
使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式;
MVVM定義MVVM是Model-View-ViewModel的簡寫。
它本質(zhì)上就是MVC 的改進(jìn)版。
MVVM 就是將其中的View 的狀態(tài)和行為抽象化,讓我們將視圖 UI 和業(yè)務(wù)邏輯分開
關(guān)于MVC的應(yīng)用范圍ASP.NET MVC是MVC模式ASP.NET上的實(shí)現(xiàn);
JS也有MVC框架;Java世界里也有MVC;PHP也有MVC框架與設(shè)計(jì)理念;關(guān)于MVVM的應(yīng)用范圍實(shí)現(xiàn)MVVM的前端有knockout.js, angularjs等
實(shí)現(xiàn)后臺有Prism, MVVM-Light, MVVM-Sidekick等。
MVC和MVVM最直觀的區(qū)別MVC的model是單向的
mvc輸出給view就完事了mvc controller不知道view上的改變而MVVM的model在view上改變,后臺也會知道。關(guān)于Asp.NET MVC 與 WebAPI + MVVM目前MVC的model應(yīng)用中ViewModel應(yīng)用較多,主要用作傳輸數(shù)據(jù)。
Asp.net Mvc非常適合應(yīng)用 ViewModel, 前端主要通過Razor來呈現(xiàn),前后端邏輯分離;WebApi + MVVM 非常適用于單頁面應(yīng)用(SPA),前后端代碼分離,分工明顯。希望對你有所幫助,謝謝。
(結(jié)束)