天天看點

.NET學習全景圖

.NET學習全景圖

作者:bitfan 來源:csdn部落格   酷勤網收集 2009-03-14

摘要

酷勤網

  作為一個下定決心要學習.NET的初學者,首先要掌握VS.NET的使用,之是以把掌握這一開發工具放在第一位,是因為在後面的學習過程中,需要使用VS.NET進行不斷地程式設計實踐,而隻有通過實踐,才能最終掌握.NET技術。

  .NET與JAVA

  Java是上世紀九十年代誕生的一種面向對象語言,它吸取了C++的許多長處,其最大的特性是“跨平台”,由于它很好地滿足了網絡時代資訊系統對進階語言的要求,因而在實踐中得到廣泛應用。

  Java經過近十年的發展,目前已在企業資訊系統開發領域占據了主流地位,形成了一整套完整的技術體系,取得了巨大的成功。

  .NET是微軟推出的一種新的軟體運作平台,它包括一整套應用範圍廣泛的技術,旨在迎接Java所帶來的挑戰。.NET給軟體開發帶來了很多新的技術,尤其是它的“混合語言”開發方式,是第一個支援多種語言混合開發的軟體運作平台,下一代Windows——LongHorn(預計2006年推出)的核心将會看到.NET的身影。

  如果讀者學過Java,那麼您會發現,.NET與Java實在是太象了。尤其是C#(.NET下的一種程式設計語言,念成“C Sharp”,不要念成“C 井” ),如果給你一段代碼,有的時候還真難分辨出是用Java還是C#寫的。

  .NET與Java的這種相似為我們的學習提供了便利,如果您掌握了C#,那麼,掌握Java這個語言幾乎是不費什麼力氣的,需要花費時間的隻不過就是熟悉彼此的類庫。.NET是.NET Framework,Java是J2SE。學習這兩者的理論基礎都是面向對象理論。是以,一名有着面向對象理論基礎的人是很容易掌握.NET和Java的。

  .NET學習全景圖

  .NET有一個龐大的技術體系,一個初學者,如何決定自己的學習步驟呢?就我自己的經驗,談談我對這個問題的看法,參見圖1:

.NET學習全景圖

圖 1 .NET學習全景圖

作為一個下定決心要學習.NET的初學者,首先要掌握VS.NET的使用,之是以把掌握這一開發工具放在第一位,是因為在後面的學習過程中,需要使用VS.NET進行不斷地程式設計實踐,而隻有通過實踐,才能最終掌握.NET技術。

  第二步是掌握一種.NET語言。由于.NET支援多種語言,是以讀者可以根據自己的喜好選擇一門計算機語言,但請注意以下選擇語言的标準:

(1)必須是全面向對象的語言,隻有面向對象的語言才能充分發揮.NET的威力;

(2)擁有較多的開發者和技術資源,這樣您就可以很容易地找到志同道合的人共同學習。

  微軟官方提供的語言有以下幾種:Managed C++,C#,Visual Basic.NET,J#。

  其中Managed C++是對标準C++的一種擴充,用的人很少(目前Managed C++将演變為CLI,但其前景仍不十分明朗);J# 則是微軟為吸引Java程式員轉到.NET平台而采取的一種政策。如果讀者不屬于原來使用C++和Java進行開發,并希望能繼續使用原有的語言寫.NET程式這種情況,不要學習Managed C++和J#。

  C#和Visual Basic.NET是目前.NET下開發的主流語言,其中,C#是全新設計的一種語言,其文法與C++和Java都非常類似,Visual Basic.NET保留了原來Visual Basic的大部分文法特征和簡潔友善的特性,同時加上了對面向對象特性的全面支援。兩者幾乎是一樣強大的,初學者選任何一種都是可以的。

  目前支援.NET的語言已有幾十種,而且還在不斷地增加中。

  本書(《.NET軟體技術學習與實踐》下同)選用的程式設計語言是Visual Basic.NET。之是以選用Visual Basic.NET,一個原因是因為本書作者從Visual Basic3.0開始就使用Visual Basic來程式設計了,有豐富的Visual Basic開發經驗,另一個原因是.NET支援混合語言開發,Visual Basic.NET開發出來的元件,可以友善地組合到C#程式中,反之亦然。Visual Basic.NET也是一種面向對象的語言,兩者功能幾乎一樣強大,而且Visual Basic.NET與C#都使用同一個類庫——.NET Framework,把Visual Basic.NET的程式代碼轉成C#代碼也并不困難。在.NET下,語言已不再重要了。.NET的跨語言特性,使我們可以用Visual Basic.NET設計一個類,繼承用C#或C++寫的一個類,反之也行。在第12章中就以Visual Basic.NET和C#為例,介紹了.NET下的混合語言開發技術。

  本書的執行個體以Visual Basic.NET語言開發,但并不要求讀者以前學過Visual Basic,當然,您要是使用過以前版本的Visual Basic(如Visual Basic 6)開發過程式,那麼,使用Visual Basic.NET會感到比較親切的。網上有許多人對Visual Basic有成見,要學.NET程式設計,許多初學者一起跟風去學C#,其實Visual Basic是一種優秀的計算機程式設計語言,尤其是最新的Visual Basic.NET,更是較以前的Visual Basic空前地強大與靈活。筆者使用過許多其它的語言如C++、Pascal、C#、Java開發過程式,但Visual Basic許多獨特的優點所帶來的高的開發效率仍是讓我喜愛。在此,我隻想說一句:關于語言優劣的讨論意義并不大,網上許多人的所謂高論,其實都是“盲人摸象”罷了,初學者不要被這些言論誤導。對于一種語言,在你沒有使用它寫過一定量的程式時,不要對這門語言發表什麼評論,就算發表評論,也要說明這是個人觀點,這是一名軟體工程師對技術應采取的态度。

   是以,學習本書讀者一定要記住,您是在學習.NET程式設計技術,在學習如何開發一個軟體,不是在學習一門語言,您需要重點把握代碼背後的計算機基礎理論知識,所蘊含的軟體開發思維方法,以及學會使用.NET Framework本身,掌握語言不是重點,語言隻不過是一個工具罷了。重要的是不是您掌握了什麼工具,而是您用這個工具做出了什麼!

掌握了開發工具和程式設計語言之後,讀者已經可以自己動手編一些小程式了。接下來的任務是學習具體的程式設計技術。

據說.NET上運作的大部分程式是基于網絡的(比如用ASP.NET開發的網站),但對于初學者而言,不适合一下子就投入到網絡程式的開發中。而應從易到難,先把基礎打好。

是以,在第三步中學習Windows Form是個好選擇。所謂Windows Form程式,就是傳統的運作于個人電腦上的單機應用程式,象大家常用的金山詞霸。通過Windows Form技術的學習,讀者可以掌握最重要最基礎的windows軟體開發技術,并對面向對象理論會有深入的體會,有了這些基礎,深入學習網絡程式設計就是水到渠成的一件事。本書的主要内容就是向讀者介紹Windows Form技術。

第四步則是學習.NET網絡技術,具體而言,又可以按照以下順序進行學習:

(1)ASP.NET:主要掌握如何設計ASP.NET網頁,搭建一個運作于.NET Framework之上的Web網站;

(2)Web Service:學習如何把網站的各種功能以Web Service的形式提供給外界,或者內建外部的Web Service實作功能強大的資訊系統。Web Service是一個潛力無窮的新技術,将對下一代的網際網路産生深遠的影響。

(3).NET Reomting及相關技術:不像ASP.NET和Web Service主要用于網際網路,.NET Remoting及相關的技術主要用于開發基于區域網路的應用程式,目前大部分公司和企業都建有自己的區域網路,開發基于區域網路的資訊系統具有很大的需求。

當完成了以上四步的學習之後,您就基本上了解了.NET中最重要的技術,下一步有兩個選擇:

(1)學習移動裝置開發技術,比如為手機、SmartPhone等智能移動裝置開發程式,設計嵌入式系統等,.NET Compact Framework就是專為移動裝置應用程式開發而準備的,使用.NET Compact Framework開發移動裝置程式與使用.NET Framework開發普通程式是類似的,已有的.NET Framework開發經驗仍然适用;

(2)另一個方向是進一步深入地學習企業級項目開發技術,成為一名系統架構設計師,這需要更進一步地學習相關理論和技術,比如設計模式、軟體工程等,還有J2EE等.NET競争對手的技術。

如果讀者能沿着我的路線圖走到這裡,那就恭喜您,您已成為了一名.NET技術專家,更寬廣的道路将展現在您的面前。

繼續閱讀