2009-10-21 195 views
12

我最近觀看了this webcast,我感覺ASP.NET MVC中的很多「酷東西」都被拉回到了ASP.NET框架中。ASP.NET MVC與ASP.NET 4.0

目前,我正在使用ASP.NET MVC爲我的公司設計一個項目的基礎工作,但在看完這個之後,我開始懷疑這是否是正確的選擇,以及它是否會適合我等待ASP.NET 4.0。

我意識到ASP.NET MVC 2.0已經接近實際版本。

如果高可測性鬆耦合,並有我們的HTML是頭等重要的完全控制,這是我應該選擇,ASP.NET 4.0或ASP.NET MVC?

回答

23

那麼你的問題對我來說真的沒有意義。

你問是否要去與ASP.Net MVC或ASP.Net 4.0 - 你的意思是WebForms?

MVC 2.0將在VS 2010的包裝箱中發貨,並且與.Net 4.0和ASP.Net 4.0一樣 - 也是ASP.Net MVC是ASP.Net的一部分。

如果您希望使用.Net 4.0運行時和ASP.Net 4.0的所有功能 - 使用MVC做什麼錯誤?

此外,我建議現在構建到MVC 1.0並以這樣的方式構建您的應用程序,以便您可以輕鬆地遷移到並擁抱MVC 2.0中的新功能,因爲您已經知道其中大部分將如何工作這不是一個太大的問題。或者,如果您的版本是在ASP.Net MVC 2.0發佈之後,現在就開始使用它 - 除非出現其他問題。

+1

+1。我喜歡答案。 – 2009-10-21 23:03:27

+1

+1我也喜歡 – Feryt 2010-01-22 11:50:54

+0

同意,這是一個比接受的解決方案好得多的答案。 – Andrew 2010-01-25 19:17:22

7

如果您的應用程序將在3月發佈日期之後發佈,那麼它就不會更聰明。去與ASP.Net 4.0。

如果不是,那麼它不太清楚。我目前的公司正面臨同樣的問題。我們是否使用.Net 4.0或不。對我們來說,我們的解決方案是內部託管的,所以我們沒有在未發佈的平臺上發佈產品的問題。我們最擔心的是從beta2到RTM的變化。

作爲一名開發人員,我總是希望轉移到最新的平臺。一家公司必須考慮將客戶和遷移到新平臺的風險。大多數時候謹慎是第一個跳躍的更謹慎。

支持併發布ASP.MVC 1.0。這是一個偉大的網絡框架。如果您沒有在ASP.MVC 2中查找特定功能,請使用ASP.NET MVC 1.

+0

我想這是一個沒有腦子。而且由於架構鬆散耦合並經過深思熟慮,切換用戶界面不會是最麻煩的工作。 – CodeMonkey 2009-10-21 22:53:04

+0

即使在4.0中改進了HTML控件,我認爲MVC仍然具有較高的可測試性(並且隨之而來的是鬆散的[鬆散?]耦合)。 – 2009-10-22 12:34:37

+1

查爾斯沒有冒犯,但這是如何被標記爲正確的答案? MVC和Webforms是解決問題的完全不同的方法。對於那些希望編寫代碼來匹配無狀態Web環境的人,而不是將其抽象出來,MVC將永遠是一個很好的解決方案。對於希望網絡感覺像winform編程的人來說,webforms會更好。如果兩者相互銜接,那麼微軟就沒有充分利用每個產品的優勢。 – Andrew 2010-01-25 19:15:48

3

請選擇具有最大商業意義的選項。我們總是想等待下一個最好的事情......但如果我們做到了,我們永遠都不會做任何事情。

6

如果你的標準包括如下:

我們的目標是爲高可測性,鬆散耦合和「控制HTML」 - 對我來說這意味着ASP.NET MVC。

然後ASP.NET MVC是必須。即使使用ASP.NET 4.0,也無法避免ASP.NET很難進行測試,因爲沒有大量額外的工作,而這些工作對於MVC來說並不存在。

我在我的'日常工作'中使用ASP.NET,但是在晚上我一直是ASP.NET MVC。 ASP.NET 4.0仍然依賴於傳統的「代碼隱藏」和ASP.NET控件繼承的視圖/控制器耦合。這些是使測試更加困難的事情,並且根據定義「緊密耦合」。

+0

我認爲這也讓它更難理解。 MVC非常容易理解......該框架與網絡的工作方式相匹配。我非常遺憾地看到ASP.NET中的頁面模型和控制層次結構,MVC只是讓人耳目一新。 – Andrew 2010-01-25 19:18:59

1

在Microsoft平臺上選擇新的或企業Web開發的展示模式是一項艱鉅的任務,我認爲只有三種;查看模型,模型 - 視圖 - 演示者(MVP)或ASP.NET MVC(Model2派生)。

你可以閱讀完整的文章在這裏ASP.NET MVC Patterns