3 回答

TA貢獻1783條經驗 獲得超4個贊
MVC縱向切割了開發過程中的代碼,從服務器到瀏覽器層層分離,層次之間耦合度很低,因為它是順著底層的開發脈絡進行封裝,所以有利于開發者對整個程序過程流轉的理解。但是MVC有一個非常大的缺點,這個缺點是和整個軟件發展思路相背離的,那就是它無法封裝、無法封裝所以無法被重用。有誰看到過mvc下面的組件?有的只是一個個現成的案例,然后拿來修改。因為一個組件肯定牽涉到控制和顯示,但是mvc的開發這兩個層次是分離的。MVC只適合輕量級的開發,桌面開發是極少用到mvc模式的。然而web開發恰恰就是輕量級,至今所有的web開發都是輕量級的,因為網絡硬件條件的限制,不需要也無法做到非常復雜的邏輯。這也是MVC非常非常適合web開發的原因。
WebForm是微軟前面一套web開發的機制。它橫向切割了代碼,控制和顯示是封裝在一起的。它從開發者思維邏輯上而不是實際情況上對代碼進行封裝,開發webform容易上手的原因也就在此了,但這個不利于開發者對底層程序流轉機制的理解。WebForm中view和controller是放在一起的,WebForm一出現后,隨之而來的是大量的組件誕生,這是mvc模式下看不到的。微軟的經驗之一是硬件發展很迅速。代碼的封裝是靠犧牲運行效率來提高開發效率,犧牲的運行效率通過提高硬件性能來解決。但微軟在webform上犯了經驗主義的錯誤,這個經驗不適合網絡硬件,網絡硬件要考慮兼容性而且是國家的基礎設施,更新的靈活性遠比單機要差。大量的組件因為硬件的瓶頸無法給WebForm帶來什么優勢。在發展了幾年webform后,微軟覺得這樣下去不行,等到網絡硬件發展起來不知道到猴年馬月了,所以就抄了一下成熟的mvc,通過Entity Framework做數據庫和對象的映射,很明顯,它是為了充當mvc中那個Model。通過mvc來控制和展示。
webform生產關系是比mvc先進的,但是它不適合現在的網絡設施生產力,如果要適合說不定要10年后。webform和mvc很好的印證了生產關系必須適合生產力,即使強大如微軟也無法改變客觀規律。

TA貢獻1828條經驗 獲得超6個贊
webform 的一些缺點:
1.webfrom 使用的控件生成的html代碼不太干凈,會有些不想要的東西出現
2.webform 中頁面的ViewState 過于沉重,使得WEB的性能上有一些影響
3.webform 不利于單元測試
mvc的一些優點:
層次架構更分明,適合做大中型項目。單元測試更方便。 生成的html代碼干凈整潔。MVC路由解決了頁面靜態化的一些需求。

TA貢獻2016條經驗 獲得超9個贊
WebForm是簡單的窗體設計,前端在.aspx,后置代碼.cs負責事件處理;MVC顧名思義就是分成了Model模型,View視圖,Controller控制器三個部分,進行分工工作。對于大的項目開發,顯然MVC更適合,總不能所有東西都讓一個人來做吧,呵呵
- 3 回答
- 0 關注
- 733 瀏覽
添加回答
舉報