MVC 是編寫 asp.net 應用程序的最佳方式嗎?
更新:我知道沒有一種最好的方法可以做所有事情。很抱歉沒有馬上說出來。在數據訪問教程的上下文中,如果您必須完成他在該教程中所做的項目,如果您必須選擇其中之一,您會做他所做的還是會使用 MVC?
更新: MVC 是程式 asp.net 應用程序的更合適的方法,而不是此處找到的教程:
http://www.asp.net/Learn/data-access/
原來的:
我問,因為我最初是通過 Java 應用程序了解 MVC,然後是 RoR 和 Django。這些其他項目和公司說起來好像 MVC 已經存在了很長時間,而且據我發現它已經存在了。然後微軟開始將 MVC 放入 .net 框架中。
我問是因為我不知道如何很好地設計東西,並且認為我在模仿 Scott Mitchell 的教程的 asp.net 站點上做得很好。在我發現 MVC 和現在 asp.net 的 MVC 之前,我認為在 BLL 中創建抽象層是可行的方法。
老實說,我不知道做事的“正確”方式是什麼。我只是創造我需要的東西,但我不禁覺得我錯過了一些東西。
MVC 是在大型項目中開始做事的正確方法嗎,特別是我的意思是 MVC 和 ASP.NET,但也可以指 PHP 和他們的 MVC 框架之一。
我想確定一種標準的做事方式……無論如何。
而且,出於好奇,為什麼微軟現在才開始做 MVC?
更新: MVC 是否比 asp.net 上的目前教程更好?
我指的是 Scott Mitchell 的教程,他在其中創建了用於抽象的 BLL。或者這也是一個 linq 問題。我應該說我理解保持邏輯和表示分離的必要性,但不確定最好的方法。我正在使用 asp.net 教程。它工作得很好。然後我發現世界其他地方,正如我所看到的那樣,正在使用 MVC。然後微軟開始開發 MVC,所以對我來說,另一種方法似乎已經過時並且是錯誤的做事方式。
不,這不是做事的唯一最佳方式。
MVC 只是一種設計模式。所有設計模式的目標都是簡單。因此,只要它使您的設計更簡單,就可以使用它。如果它使您的特定應用程序變得更加複雜,請嘗試不同的方法。
不幸的是,有些人認為如果他們看到一種模式,就應該使用它。這不是真的。設計模式本身並不能使您的應用程序更好。它們不是終點。它們是達到目的的一種手段(這很簡單)。所以你應該只在它們值得的時候使用它們。
在我看來,沒有充分理由的過度架構比編寫沒有任何特定設計的程式碼更糟糕。
**編輯:**關於 ASP.NET MVC:我對 ASP.NET Web 表單有負面的個人偏見。在 MVC 之前,我通過編寫自定義處理程序對 HTML 進行細粒度控制來完成高級項目的大部分動態方面。Web 表單使 Web 開髮變得非常容易,但它們有一些特別好的東西,但有時會出現問題。第一個
ViewState是複雜的架構,第二個是複雜的WebControl架構。不要誤會我的意思。這些都是 ASP.NET 輝煌的標誌。我還沒有看到像 ASP.NET Web Forms 那樣簡單的 Web 開發單一平台,這只是因為WebControl需要強大的支持ViewState. 但是,在某些項目中,您希望對呈現的 HTML 進行精確控制(特別是當您有一些客戶端邏輯時)。您還希望在大型項目中使伺服器端程式碼可維護。在這些領域,ASP.NET MVC 確實大放異彩。但我認為 ASP.NET Web Forms 仍將是一項更適用的偉大技術。畢竟,正如我所說的一般設計模式,您應該仔細評估您的設計,看看哪一個更適合您的需求。具體來說,關於數據訪問,MVC 通常比 Web Forms 需要更多的程式碼。對於呈現表格數據(即適用於 GridView 的地方),我認為 ASP.NET Web 窗體是完成任務的更簡單方法。但是,大多數數據驅動的 Web 應用程序不僅僅是直接在數據庫中操作表。他們有復雜的佈局。StackOverflow 就是一個很好的例子。它當然是數據驅動的,但 ASP.NET MVC 更適合它。