asp、net、mvc,、mvvm有什麼本質區別嗎?
首先明確一點,這幾個概念是不同的,本質上也存在較大差異。
.NET不是一種編程語言,而是一個框架我們日常所說的.NET其實是指.NET Framework,是微軟推出的一款操作平台(於2002年誕生),它支持很多種編程語言(多數都是微軟開發的),比如說有:C#、VB、F#、C++等。.NET框架是支持跨語言互操作的,即:比如用VB寫的DLL,在C#中可以引用。
ASP是微軟早期的一種動態網頁腳本環境
ASP全稱是Active Server Pages,是由微軟開發的一種伺服器端腳本(主要使用VBScript、JScript),主要用來開發動態網頁的。它在.NET框架之前誕生,早在10年前就已被淘汰了,自.NET面世後,ASP有了一個升級版:ASP.NET。
MVC、MVVM都是一種設計模式MVC和MVVM都是用來解決界面呈現和代碼邏輯分離的一種設計模式,通俗說就是為了解決代碼層和視圖層的耦合的。
MVC即:Model - View - Controller (模型-視圖-控制器),其中M是指業務模型、V是指界面顯示層、C是控制器。MVC目的是將M層和V層分離,在此模式下可實現同一個程序使用不同的表現形式。
MVVM即:Model - View - ViewModel,可以理解為是MVC的升級版,它乾的事和MVC一樣,用來將M層和V層分離。
以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!
謝謝邀請。
MVC與MVVM是設計模式,它們與具體平台技術無關。
本質上是一家,但後者層次更清晰,分工更明顯。
MVC定義
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫;
MVC最開始是存在於桌面程序中的, 現在WEB項目中也有 MVC,M是指業務模型,V是指用戶界面,C則是控制器;
使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式;
MVVM定義
MVVM是Model-View-ViewModel的簡寫。
它本質上就是MVC 的改進版。
MVVM 就是將其中的View 的狀態和行為抽象化,讓我們將視圖 UI 和業務邏輯分開
關於MVC的應用範圍
ASP.NET MVC是MVC模式ASP.NET上的實現;
- JS也有MVC框架;
- Java世界裡也有MVC;
- PHP也有MVC框架與設計理念;
關於MVVM的應用範圍
實現MVVM的前端有knockout.js, angularjs等
實現後台有Prism, MVVM-Light, MVVM-Sidekick等。
MVC和MVVM最直觀的區別
MVC的model是單向的
- mvc輸出給view就完事了
- mvc controller不知道view上的改變
- 而MVVM的model在view上改變,後台也會知道。
關於Asp.NET MVC 與 WebAPI + MVVM
目前MVC的model應用中ViewModel應用較多,主要用作傳輸數據。
- Asp.net Mvc非常適合應用 ViewModel, 前端主要通過Razor來呈現,前後端邏輯分離;
- WebApi + MVVM 非常適用於單頁面應用(SPA),前後端代碼分離,分工明顯。
希望對你有所幫助,謝謝。
(結束)
推薦閱讀:
※倉管雲詳解常見的ERP專業名詞術語
※ASP.NET Core 之 Identity 入門 (一)
※以 PHP ,HTML ,ASP 結尾的網頁分別是使用什麼軟體編寫成的?
※html,asp,php都是什麼呀不是一種?