1 回答

TA貢獻1818條經驗 獲得超3個贊
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很好的印證了生產關系必須適合生產力,即使強大如微軟也無法改變客觀規律。
- 1 回答
- 0 關注
- 1073 瀏覽