好像我正在使用的每個項目都使用模型視圖控制器體系結構,這就是我滾動自己的項目的方式。有其他選擇嗎?如何創建一個具有持久存儲和用戶界面的應用程序?什麼是MVC的替代方案?
回答
MVC已經存在了一段時間。這是一個測試和驗證的時間pattern。許多框架利用MVC Pattern。 Martin Fowler已將MVC解構成:Supervising Presenter和Passive 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方法的經驗,您的解決方案變得難以維護和臃腫。這些應用程序將死於緩慢的痛苦。
如果你的解決方案是小型的一次性項目,那麼一定要把東西扔在一起。嘿,有一些工具可以生成從屏幕到數據訪問層的所有內容。無論什麼工作完成工作。
經典CRUD應用程序使用的工具,如VB6和德爾福有用戶界面,持久性存儲,並且不使用MVC建造。他們中的大多數使用的數據直接鏈接到數據庫字段識別控件
用戶界面查看和應用將永遠有一個模型,以及兩者之間的橋樑是控制器。整個MVC沒什麼特別之處,因爲事情總是這樣。
頂多可以擺脫控制器,讓你的觀點談談你的模型,但你失去了靈活性。
調查MVP模型視圖主持人。
夫婦的比較各種MV *的模式,這可能是有用的鏈接:WPF patterns : MVC, MVP or MVVM or…? & MVC, MVP and MVVM
我已經開發了ASP.NET MVC的替代品。你會得到同樣的鬆散耦合和關注點分離,但不同之處在於你如何構建項目。
我有一對夫婦的視頻在我的博客,爲框架,一個樣本項目和一些VS.NET加載項(新建工程項目,新Builder和新視圖)的源代碼。
一些關鍵的差異化特性是 1.模板只是HTML - 無碼與模板混合 2.模板因此跨意見和網站設計人員可以在選擇 他們的設計工具,可複用的模板3.強類型的代碼(沒有ViewData和東西),所以你得到intillisense,編譯時間檢查,F12導航等 4.你建立的頁面作爲視圖的組合,而不是一個從內到外的方法 5.視圖可以被視爲「真正的「課程。 6.一切都符合這樣沒有運行時編譯
不少其他差異化的因素。
從理論上講:
MVC是已驗證的技術和亞達,亞達,亞達,它是理想的網站。
但在實際案例:
使用MVC需要一個框架,因此你是在與所有的限制和約束的框架嚴重的項目。所以,在這一點上,MVC的具體實現是規則而不是簡單的「指導原則」。
而且MVC慘遭失敗的網站時,它是關於連接到除簡單的POST其他模型/ GET,它會失敗,XML異步和它失敗,阿賈克斯。 (*)
(*)存在着一些補丁,但設計必須明確,功能齊全,如果你需要「打補丁」,那麼它既不明確也不功能。
我個人認爲與MVC的主要問題是,它把這麼多的努力,控制器,大多數項目中使用不多於5日線爲控制器的一部分。
ps:大多數「做得好」的MVC項目都是3層項目。
ps2:MVC不包括某些框架,僅僅是一個buzzterm,不是嚴重的術語,它反映在「解釋mvc」組中。
- 1. 什麼是。jioster的.net替代方案
- 2. 什麼是GarbageCollector的替代方案?
- 3. 什麼是Apache Camel的替代方案
- 4. 外套的替代方案是什麼?
- 5. 什麼是iFrame的替代方案?
- 6. 什麼是Struts 1.3的替代方案
- 7. 什麼是Google Analytics的替代方案
- 8. 什麼是innerHTML的替代方案,riotjs
- 9. LocationClient的替代方案是什麼?
- 10. copyAcroForm的替代方案是什麼?
- 11. 什麼是一些pagerank替代方案?
- 12. paymentWithProductIdentifier是什麼替代解決方案?
- 13. 什麼是C++方案的標記數據的替代方案
- 14. InstallShield有什麼好的替代方案?
- 15. 爲什麼Facebook PHP SDK已過時?什麼是替代方案?
- 16. 什麼是安卓方向傳感器的替代方案?
- 17. Web開發的MVC體系結構的替代方案是什麼?
- 18. 論壇有什麼替代方案?
- 19. CSharpOptParse還有什麼替代方案?
- 20. IRB有什麼替代方案?
- 21. pinax有什麼替代方案?
- 22. SWT TabFolder有什麼替代方案?
- 23. 什麼是ASP.NET MVC中Controller.ReadFromRequest的替代?
- 24. 什麼是Android的onmousemove的替代方案| JavaScript的
- 25. 如果Swing已被棄用,那麼替代方案是什麼?
- 26. 什麼是safari的「window.autoRefresh」的替代方案?
- 27. 什麼是$(window).unload()的萬無一失的替代方案?
- 28. 什麼是在sqlserver中的數字(2,0)的替代方案?
- 29. 什麼是WPF應用程序的Crystal Report的替代方案
- 30. 茉莉花的「toNotEqual」的替代方案是什麼?
Duplicate of [141912](http://stackoverflow.com/questions/141912/alternatives-to-the-mvc)? – xenoterracide 2010-08-29 15:12:19
你可以在這裏閱讀一些文章: [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