.NET急速發(fā)展 初學(xué)者如何學(xué)習(xí)
從1.0開始,.NET這幾年發(fā)展的速度異常驚人,全新平臺(tái)的.NET1.0、改良的.NET1.1,邁向成熟的.NET2.0,大躍進(jìn)的.NET 3.0,2008年將正式站上舞臺(tái)的.NET3.5,每一次的改版,都帶來了不同程度的驚喜。然而,更好的功能,更具生產(chǎn)力的工具,一切的一切,帶給開發(fā)人員的不是喜悅,而是追趕新技術(shù)的疲累與茫然,今天當(dāng)紅的技術(shù),轉(zhuǎn)眼成為明日的黃花,不如歸去,或許已經(jīng)成為開發(fā)人員的共同心情寫照。
如果你有這樣的無奈,這篇文章,或許可以給你不同的想法,即便無法讓你在一波波技術(shù)浪潮的沖擊下,重拾對(duì)技術(shù)的熱情,至少也能讓你未來的.NET學(xué)習(xí)之路,走得比較順?biāo)臁?/P>
.NET 從1.0發(fā)表之后,它的框架便已固定,與微軟之前的技術(shù)***的不同點(diǎn),在于它的發(fā)展以漸進(jìn)式的演化取代了破壞性的革命,仔細(xì)檢視.NET的架構(gòu),你會(huì)發(fā)現(xiàn)每一次的改版都只是在舊的框架上,堆疊新的軟體元件,而非如.NET1.0創(chuàng)造一個(gè)全新的技術(shù)平臺(tái),這樣的好處在于,開發(fā)人員既使面對(duì)新版本,使用的依然是熟悉的技術(shù),想要新的功能,只要針對(duì)新版釋出的部份,進(jìn)一步作學(xué)習(xí)即可。
.NET1.X 跳到 .NET 2.0 的時(shí)候,BCL新增了一些類別,語言本身作了一些改良,ASP.NET則嵌入了一些新的機(jī)制,除此之外,所有的東西都是舊的,觀念亦沒有改變,.NET 3.0則單純的加入了四個(gè)新的軟體框架,.NET 3.5則比較復(fù)雜,但是基本上,還是在.NET 2.0與.NET3.0上面,堆了一些新的功能上去。
是的,你在.NET 1.0開始所作的投資,不會(huì)被浪費(fèi)掉,幾乎所有的東西都能夠延用,某些功能,新版本或許有更好的作法,但是并不代表你就必須丟掉舊版本,相反的,在原來的基礎(chǔ)上,你可以更快速的學(xué)好新的東西。
有了概念,我們現(xiàn)在知道改版不是件壞事,但這是一回事,.NET究終是只技術(shù)巨獸,如何馴服它,又是另外一回事,如何找到正確的學(xué)習(xí)方向,將是你的.NET之路是否能夠順利的關(guān)鍵。
學(xué)習(xí).NET沒有密訣,務(wù)實(shí)、不求速成是重點(diǎn),.NET的開發(fā)工具,包裝了很多好用的東西,導(dǎo)致開發(fā)人員(尤其是入門的程式員)天真的以為,開發(fā).NET應(yīng)用程式,無論WinForm或是WebForm,都可以輕易的用工具搞定,忽略了語言與API才是關(guān)鍵,導(dǎo)致.NET的學(xué)習(xí)之路愈走愈窄,本來可以愉快的學(xué)習(xí)經(jīng)驗(yàn),***成為可怕的惡夢(mèng)。
無論是初學(xué)者或是已經(jīng)有一般基礎(chǔ)的程式員,接下來我們列舉一連串的步驟,作為你學(xué)習(xí).NET的參考。
1. 了解.NET語言:在你開始學(xué)習(xí).NET之前,選擇一個(gè)語言,C#或是vb.net,學(xué)習(xí)相關(guān)語法,例如迴圈,宣告等等,了解類別設(shè)計(jì),OOP的基礎(chǔ)概念,在你熟悉這些東西之前,不要去碰所謂的WinForm或是ASP.NET,當(dāng)然,這是建議,如果你不覺得這會(huì)模煳學(xué)習(xí)焦點(diǎn),如果你打算就語言本身下去學(xué)習(xí),從Console模式作練習(xí)。
2.探索基礎(chǔ)的.NET Framework類別庫:了解何謂命名空間,類別如何被組織歸納,如何引用現(xiàn)有的類別庫實(shí)作所需的應(yīng)用程式功能,學(xué)習(xí)一些基礎(chǔ)的核心類,例如Math、Exception等等。
3.選擇所使用的UI:傳統(tǒng)的視窗應(yīng)用程式(WinForm),或是Web應(yīng)用程式(WebForm),也就是ASP.NET。
4.深入類別庫:學(xué)習(xí)特定領(lǐng)域的技術(shù),例如資料庫的ADO.NET,繪圖技術(shù)的GDI+,網(wǎng)路與串流技術(shù),甚至大型應(yīng)用程式的發(fā)展等等。
.NET 程式設(shè)計(jì)師一旦過了初學(xué)的門檻,有一大部份的時(shí)間,都會(huì)在類別庫的類別功能上打轉(zhuǎn),無論你所開發(fā)的是ASP.NET的Web應(yīng)用程式員,還是傳統(tǒng)視窗應(yīng)用程式,都脫離不了類別庫的應(yīng)用,強(qiáng)化類別庫的知識(shí)將是最主要的課題。
.NET 的架構(gòu)設(shè)計(jì)得非常出色,因此很容易學(xué)習(xí),按步就班很快的就會(huì)成為一個(gè)堪用的.NET應(yīng)用程式開發(fā)人員,有了好的基礎(chǔ),無論是目前的.NET3.0,或是明年蓄勢(shì)待發(fā)的.NET3.5,對(duì)你都不再會(huì)是困擾,因?yàn)樗鼈兌贾皇嵌询B了一些新的東西上去,只要在需要的時(shí)候,針對(duì)這些新增功能繼續(xù)下功夫即可,至于那些新功能,我們用一些簡(jiǎn)單的數(shù)學(xué)式來說明。
.NET 2.0 = CLR +BCL+ C#(vb.net) + Win Form + Web Form
.NET 3.0 = .NET 2.0 + WCF + WPF + WF + WCS
.NET 3.5 = .NET 3.0 + ASP.NET AJAX +Silverlight+LINQ
如何,是不是比較好受了,從這幾條數(shù)學(xué)公式當(dāng)中,我們得到了一個(gè)很重要的結(jié)論,如果沒有.NET2.0的基礎(chǔ),你是不可能學(xué)好所謂的.NET 3.0,甚至迎接明年即將到來的.NET3.5,也因此,除非你已經(jīng)準(zhǔn)備好了,否則學(xué)好你的.NET 2.0 逺比關(guān)注目前的新技術(shù)來得重要。
至于.NET 1.0或是.NET 1.1,試著擺脫它吧,.NET 2.0相較于.NET 1.X的改變盡管并非革命性的,但是.NET 2.0在某些方面的確作了一些變動(dòng),語言的功能亦作了不少的加強(qiáng),編輯器的檔案架構(gòu)同時(shí)也有一些不小的調(diào)整,跳到.NET 2.0是比較合適的選擇。
至于2008年中即將釋出的VS2008,它同時(shí)允許開發(fā)人員選擇所要開發(fā)的版本,你可以選擇.NET2.0、.NET3.0或正.NET3.5進(jìn)行開發(fā),就如同我們上面說明的,除非你要新的功能,例如WPF,否則不用可慮新版本的問題。
【編輯推薦】