3

好像我正在使用的每個項目都使用模型視圖控制器體系結構,這就是我滾動自己的項目的方式。有其他選擇嗎?如何創建一個具有持久存儲和用戶界面的應用程序?什麼是MVC的替代方案?

+0

Duplicate of [141912](http://stackoverflow.com/questions/141912/alternatives-to-the-mvc)? – xenoterracide 2010-08-29 15:12:19

+0

你可以在這裏閱讀一些文章: [http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)][cs] [CS]:http://en.wikipedia.org/wiki/Architectural_pattern_%28computer_science% 29 – Dels 2009-04-17 07:14:39

回答

8

MVC已經存在了一段時間。這是一個測試和驗證的時間pattern。許多框架利用MVC Pattern。 Martin Fowler已將MVC解構成:Supervising PresenterPassive View

建築師Christopher Alexander說得好:

每個模式都描述了 發生一遍又一遍在我們 環境中的問題,然後描述了這樣的 核心的解決這一問題, 的您可以使用這個 解決方案一百萬次以上,而不用 以同樣的方式執行兩次。

我不知道爲什麼你想從MVC移動。您遇到MVC無法解決的問題嗎?致給你一個更好的答案我們需要更多地瞭解你的問題域

需要考慮的事項模式/體系結構:如果您使用Myspace類型體系結構構建某些東西,則需要一個強大的體系結構(MVC)。如果你通過網絡創建一個簡單的crud界面 - 幾乎任何事情都可以做到。

對於.NET Web表單(我假設的網絡,因爲你沒說厚或Web客戶端),這是不是MVC,這是一場噩夢維護它們。生活了幾年的Web表單應用程序往往成爲big balls of mud。即使那時開發人員也發現了使用MVC with web forms的方法。

諷刺的是,在缺乏ASP.NET Web表單MVC架構爲驅動投訴導致ASP.Net MVC framework的發展方向之一。

從,如果你不使用一些MVCesk方法的經驗,您的解決方案變得難以維護和臃腫。這些應用程序將死於緩慢的痛苦。

如果你的解決方案是小型的一次性項目,那麼一定要把東西扔在一起。嘿,有一些工具可以生成從屏幕到數據訪問層的所有內容。無論什麼工作完成工作。

6

經典CRUD應用程序使用的工具,如VB6和德爾福有用戶界面,持久性存儲,並且不使用MVC建造。他們中的大多數使用的數據直接鏈接到數據庫字段識別控件

0

用戶界面查看和應用將永遠有一個模型,以及兩者之間的橋樑是控制器。整個MVC沒什麼特別之處,因爲事情總是這樣。

頂多可以擺脫控制器,讓你的觀點談談你的模型,但你失去了靈活性。

3

調查MVP模型視圖主持人。

0

我已經開發了ASP.NET MVC的替代品。你會得到同樣的鬆散耦合和關注點分離,但不同之處在於你如何構建項目。

我有一對夫婦的視頻在我的博客,爲框架,一個樣本項目和一些VS.NET加載項(新建工程項目,新Builder和新視圖)的源代碼。

Builder for ASP.NET

一些關鍵的差異化特性是 1.模板只是HTML - 無碼與模板混合 2.模板因此跨意見和網站設計人員可以在選擇 他們的設計工具,可複用的模板3.強類型的代碼(沒有ViewData和東西),所以你得到intillisense,編譯時間檢查,F12導航等 4.你建立的頁面作爲視圖的組合,而不是一個從內到外的方法 5.視圖可以被視爲「真正的「課程。 6.一切都符合這樣沒有運行時編譯

不少其他差異化的因素。

0

從理論上講:

MVC是已驗證的技術和亞達,亞達,亞達,它是理想的網站。

但在實際案例:

使用MVC需要一個框架,因此你是在與所有的限制和約束的框架嚴重的項目。所以,在這一點上,MVC的具體實現是規則而不是簡單的「指導原則」。

而且MVC慘遭失敗的網站時,它是關於連接到除簡單的POST其他模型/ GET,它會失敗,XML異步和它失敗,阿賈克斯。 (*)

(*)存在着一些補丁,但設計必須明確,功能齊全,如果你需要「打補丁」,那麼它既不明確也不功能。

我個人認爲與MVC的主要問題是,它把這麼多的努力,控制器,大多數項目中使用不多於5日線爲控制器的一部分。

ps:大多數「做得好」的MVC項目都是3層項目。

ps2:MVC不包括某些框架,僅僅是一個buzzterm,不是嚴重的術語,它反映在「解釋mvc」組中。

相關問題