首先明確一點,這幾個概念是不同的,本質上也存在較大差異。

.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),前後端代碼分離,分工明顯。

希望對你有所幫助,謝謝。

(結束)


推薦閱讀:
相關文章