回覆列表
-
1 # 資深IT老張
-
2 # 網路圈
首先明確一點,這幾個概念是不同的,本質上也存在較大差異。
.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全名是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),前後端程式碼分離,分工明顯。(結束)