也談ASP.NET Web Form與MVC

來源:互聯網
上載者:User

看了部落格園裡一篇關於Web Form與MVC比較的文章,感同身受,也寫兩句。

從技術層面上看,MVC應該是伺服器端解決方案的最佳選擇(這裡強調伺服器端解決方案,是為了區別於用戶端方案
如純AJAX用戶端(如Exjs)、Silverlight、Flex)。微軟做產品做技術一貫的原則就是簡單易用,當初選擇Web
Form而非MVC可能就是這一原則指導下的產物。做產品,簡單易用是王道,但做技術就未必如此。使用越簡單往往導致擴充上的麻煩和自訂的缺失,比如伺服器端控制項。講到這裡就會有很多人爭論“Repeater
vs
GridView”問題,其實“Repeter“所代表優點恰恰就是MVC的優點,而MVC絕不僅僅在於對HTML的完全控制,松耦合才是它的優雅之處。在實際應用中,webform的優勢在於可以在別人的勞動成果之上(已有的第三方控制項)繼續自己的工作,而UI與商務邏輯的捆綁,以及layout的定製成本很快會在日常的開發維護中抵消前面的優勢。寫出效率較高的webform頁面程式需要開發人員有著較為豐富的經驗,要對頁面或控制項的生命週期有較深的理解。伺服器端控制項在提供了方便的同時,也提供了很多黑盒子,同等學習成本下,webform下很容易寫出一個效率差的應用,而mvc下相對不會,就好象在一個正確的框框裡你永遠是正確的,在一個錯誤的框框裡你肯定永遠是錯誤的,那麼在一個模糊的框框裡,你可能就比較容易犯錯誤。微軟現今終於推出了自己的MVC架構,雖然官方的解釋說是應社區的廣泛要求,並堅持稱webform與mvc是並肩的兩個選擇,但我更願意認為這是微軟承認了webform的諸多先天缺陷,不得已而迴歸正途,當然,這都是我的個人揣測^_^

本文使用Blog_Backup未註冊版本匯出,請到soft.pt42.com註冊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.