如何一個(gè)合格的ASP.NET程序員
Web開(kāi)發(fā)的潮流學(xué)習(xí)Web Standards,應(yīng)該為了更好的理解ASP.NET而學(xué)習(xí)OOP,然而學(xué)習(xí)這些知識(shí)之后并不代表你就是一個(gè)合格的ASP.NET程序員了,因?yàn)槟闳员籄SP的思想所束縛,接下來(lái)我要告訴你如何解決這些束縛。
首先我們要看看ASP.NET是如何“確?!蹦惚焕^續(xù)禁錮在ASP的思想內(nèi)的。假如我把ASP比作洗衣板,而把ASP.NET比作洗衣機(jī),那么ASP.NET這臺(tái)洗衣機(jī)就實(shí)在有點(diǎn)太過(guò)“多功能”了,因?yàn)槟憧梢赃x擇:
◆把衣服扔進(jìn)去,然后把水倒進(jìn)去,接著伸手進(jìn)去按照老方式把衣服洗干凈;
◆又或者使用洗衣機(jī)的自動(dòng)進(jìn)水功能取代上述倒水步驟;
◆還可以從洗衣機(jī)內(nèi)側(cè)把它獨(dú)有的增強(qiáng)型洗衣板拉出來(lái),以獲得比老洗衣板更潔凈的效果;
◆甚至進(jìn)行手洗機(jī)洗混合洗,總有一種混合洗方式能同時(shí)滿足你洗衣服的欲望與對(duì)潔凈衣服的需求。
這臺(tái)洗衣機(jī)有一個(gè)嚴(yán)重問(wèn)題,就是想盡辦法誘惑你把手伸進(jìn)去,而你需要做的僅僅是把洗衣機(jī)蓋上然后管好你自己的雙手。
在這里我必須假設(shè)你已經(jīng)把洗衣機(jī)的使用手冊(cè)翻爛了,其實(shí)我的意思是你已經(jīng)將上一篇中說(shuō)明一個(gè)合格的ASP.NET程序員必須學(xué)習(xí)的東西都學(xué)好了。這時(shí)候你已經(jīng)了解了ASP.NET的運(yùn)行方式,那就必須避免不符合這種運(yùn)行方式的操作。例如一個(gè)ASP.NET處理程序是立體的,那么你就要拒絕去執(zhí)行那些平板的操作。
一開(kāi)始你肯定會(huì)非常不適應(yīng),例如為什么洗衣機(jī)洗的衣服不如手洗的干凈,又或者為什么要我記著復(fù)雜的洗衣編程設(shè)定。然而這問(wèn)題不是出在ASP.NET身上,而是出自于你對(duì)它的了解還不夠深入,所以你不知道如何讓它***的視線你的目標(biāo),同時(shí)少費(fèi)功夫。這個(gè)過(guò)渡階段最需要的是堅(jiān)持,或許一開(kāi)始你會(huì)發(fā)現(xiàn)ASP.NET能實(shí)現(xiàn)的功能真的和你的目標(biāo)有一定差距,但只要你不是急功近利的去完成目標(biāo),而是仔細(xì)摸索ASP.NET其中的奧秘,那么總有一天你會(huì)發(fā)現(xiàn)無(wú)論多古怪的需求你總能提供一個(gè)簡(jiǎn)潔的ASP.NET解決方案。
合格的ASP.NET程序員
這部分內(nèi)容本來(lái)應(yīng)該屬于trouble-shooting的,你有興趣的話或許可以看看自己是否屬于某一類trouble:
◆堅(jiān)決不使用WebControl,僅在必要的情況下使用HtmlControl;
◆在ASP.NET 2.0中堅(jiān)決不使用DataSource控件,使用手工DataBind的方法;
◆使用Response.Write輸出腳本或調(diào)試信息,而不使用ClientScript和Trace;
◆直接從Request.Form讀取數(shù)據(jù),而不在LoadPostData時(shí)從NameValueCollection中讀取。
如果你命中上面任何一類trouble,其原因都是沒(méi)有好好堅(jiān)持ASP.NET的使用原則,而嘗試用ASP的方式解決問(wèn)題。解決途徑就是拒絕繼續(xù)使用ASP的方式,然后深入了解ASP.NET的內(nèi)在運(yùn)行機(jī)制,從而選擇一個(gè)正確的ASP.NET式解決方案。
***,如果你希望更多的關(guān)注ASP.NET運(yùn)行機(jī)制方面的資料更新,你可以直接訂閱Cat in dotNET 。
【編輯推薦】