我不止在一個地方看到過說拒絕拖控制項編程,在很多貼吧論壇以及視頻教程的老師都表示不要拖控制項編程,微軟當初做webfrom的初衷就是為了讓web開發更加快速簡單,可是為什麼這麼好的一個產品(或者編程方式)反而被人唾棄呢?
回複內容:
因為有些程式員【只會拖控制項】是個問題= =;http://ASP.NET
【能拖控制項】是好事
當然最最重要的是,雙方都無知,嘲諷的人無知,一些被嘲諷的人無知到活該被嘲諷的地步。。。拖控制項不是問題,只會拖控制項才是問題。基礎功能可滿足,但是很難控制精細,滿足不了後期需求。webform為了讓網頁感覺上是保持狀態的,把html都封裝的不像html了,整個網頁都包含在form裡頭,提交都是post。問題不在控制項,拖控制項只是利用輪子而已。拖控制項並不是在任何時候都一無是處,只是在特定的此時此地,它的缺點比優點更大而已。
拖控制項,其實就是黑框框的簡單替代品,是一個本來只會寫命令列的程式員,現在需要一個湊合的GUI。這個情境有四個特點:
- UI邏輯簡單。
- UI邏輯和程式邏輯分離。
- 程式對UI需求少。
- 程式員不熟悉UI編程。
你說,現在這些web應用,哪個敢說自己介面不要了,擺個命令列上來,還有人用?有這種條件的,他就可以拖控制項。然而,現在的這些web應用,使用者互動就是生命,哪個程式員敷衍介面,就是在敷衍自己的飯碗。所以,這裡的專業程式員,只是對廣大前端來說的,如果你只會拖控制項,你就不是一個專業的前端程式員。
然而還有很多寫專業軟體的程式員,他們需要一個GUI只是因為用的人不會命令列。寫的人和用的人都專業在領域專業知識上,沒有時間仔細研究廣大的前端知識,他們不是不專業,只是專業的方向不一樣。http://asp.net
現在有mvc架構,已經成功避免了拖控制項這種簡單枯燥,對程式員沒有挑戰的工作拖控制項讓好多初級程式員以為這就是web開發了,其實他看到的只是經過n層封裝後的一個傻瓜式開發方式。webform為了保持頁面狀態自己維護了一個viewstate,把所有和頁面相關的東西都塞到了這個裡面,造成的結果是很慢。實際上webform是把winform的思想在web端的移植,從效果來看,這種移植是不恰當的。當然,拖控制項也不是一無是處,開發效率高,做個幾百人用的企業級管理應用還是可以勝任的,互連網應用,拖控制項是搞不定的。首先,很多人只會拖控制項,懶省事。並且很多人不思進取,就停留在拖控制項。
其次,webform當初是為了搶佔市場的,產生的web頁面也跟ie6一樣,很不標準(話說body下先嵌套一層form我也是醉了),並且有不少的html代碼是控制項產生的,不利於跟美工合作,依稀記得當時公司招美工,要求會.net優先,醉了
最後,b/s發展到現在,分工更明確,層次更突出。尤其重視前端代碼,form表單包容所有其它元素,最傻逼的寫法了,更別說為了追求速度,header頭都各種節約,你再來個一長串的viewstate隱含域。
mvc的出現,不純粹是為了mvc,也為了讓產出更標準。11年mvc3出來,本人就直接拋棄了webform。15年了還有很多比我工作年齡長的人在考慮從webform轉mvc,額~~剛剛開始學的時候也是從視頻開始,各種黑拖控制項,然後也就盲目跟著黑。實際做了一段時間開發之後,發現這種模式在小項目上用起來還是挺順手的。因為無知啊
這些bs別人的人too young too simple,並不懂得以下兩個pattern: