回覆列表
  • 1 # 資深IT老張
    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),前後端程式碼分離,分工明顯。

    (結束)

  • 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層分離。

  • 中秋節和大豐收的關聯?
  • 《天淨沙秋思》的“思”字讀第幾聲,為什麼?