Asp.net-Mvc

什麼是 ASP.Net MVC?

  • April 1, 2018

當我第一次聽說 StackOverflow,聽說它是用 ASP.Net MVC 建構的時候,我有點困惑。我認為 ASP.Net 一直是 MVC 架構的一個例子。您擁有提供視圖的 .aspx 頁面、提供控制器的 .aspx.vb 頁面,並且您可以創建另一個類作為模型。在Microsoft 這篇文章中描述了在 ASP.Net 中使用 MVC 的過程。

所以我的問題是。ASP.Net MVC 提供了哪些正常 ASP.Net(甚至早在 ASP.Net 1.1)無法提供的功能?它只是花哨的 URL?MS 能夠將自己與 Ruby On Rails 之類的新技術進行比較,並說“我們也可以做到”,這僅僅是為了吹噓自己的權利嗎?ASP.Net MVC 是否提供了更多內容,而不是 File->New 菜單中的幾個額外模板?

我現在可能聽起來很懷疑和消極,所以我會停下來。但我真的很想知道 ASP.Net MVC 實際提供了什麼。另外,如果有人能告訴我為什麼它是 Model-View-Controller 而不是按照 View-Controller-Model 或 Model-Control-View 層的順序,這取決於您是從上到下,反之亦然,我會真的很感激。

編輯

此外,可能值得指出的是,我也從未真正關心過 Web 表單(AKA 伺服器控制項)模型。我只很少使用它,從未在工作中使用過。

.aspx 不符合 MVC 模式,因為在後面的程式碼(“控制器”)之前呼叫了 aspx 頁面(“視圖”)。

這意味著控制器對視圖具有“硬依賴”,這非常違反 MVC 原則。

MVC 的核心優勢之一是它允許您在不實例化真實視圖的情況下測試控制器(其中包含大量邏輯)。在 .aspx 世界中,您根本無法做到這一點。

單獨測試控制器比必須實例化整個 asp.net 管道(應用程序、請求、響應、視圖狀態、會話狀態等)要快得多。

引用自:https://stackoverflow.com/questions/88763