前前後後收到過一些人的來信,詢問ASP.NET的學習順序問題,在此就向打算系統學習ASP.NET技術的初學者談談我的建議。
如果你已經有較多的面向對象開發經驗,跳過以下這兩步:
第一步 掌握一門.NET面向對象語言,C#或VB.NET。
我強烈反對在沒系統學過一門面向對象(OO)語言的前提下去學ASP.NET。 ASP.NET是一個全面向對象的技術,不懂OO,那絕對學不下去!
第二步 對.NET Framework類庫有一定的了解
可以通過開發Windows Form應用程序來學習.NET Framework。ASP.NET是建構在.NET Framework之上的技術,你對.NET Framework了解得越深,學習ASP.NET就越快。
舉個例子:下面簡單列出幾個對掌握ASP.NET非常重要的概念:
對象的內存模型,委托,事件,多線程,程序集和應用程序域,安全模型,.NET Framework當然還有許多其它的東西,但不理解與把握清楚上述這些東西,是很難真正把握ASP.NET的。
出於急迫的心情與現實的考慮,不少人沒有扎實的面向對象基礎就想直接學習ASP.NET,其結果只能是欲速則不達。
在具備了OO基礎之後,以下是具體的學習ASP.NET技術步驟。
第一步:學習HTML與CSS
這並不需要去學一大堆的諸如Dreamweaver,Firework之類的各種網頁設計工具,關鍵是理解HTML網頁嵌套的block結構與CSS的box模型。許多ASP.NET控件最後都必須轉化為HTML。而且,div+CSS是當前主流的網頁布局模型。
學習這部分時,關鍵在於理解概念,而不需要將精力花在美化頁面的許多技巧上,那是網站美工的工作,不是程序員的工作。
第二步:學習JavaScript。
JavaScript不是Java,它主要運行於浏覽器端。可以完成許多工作,功能也很強大:比如它將客戶端網頁中的HTML元素看成一棵樹,可以編寫代碼訪問並修改樹節點,動態生成新的HTML代碼,從而達到動態修改網頁顯示特性的目的。
JavaScript在目前的網站開發中用得很多,非常重要。
另外,它也是目前非常流行的AJAX技術的基礎。
第三步:學習計算機網絡原理
找一本大學<計算機網絡>教材,重點看看它的有關互聯網的部分,了解一些域名解析和HTTP協議等知識。這是進行互聯網開發的理論基礎。
第四步:學習ASP.NET表示層技術,會設計Web頁面
需要結合先前打好的面向對象技術的基礎,至少掌握以下內容:
(1)各種Web控件的使用方法,
(2)理解信息在網頁中的傳送方式,比如Cookie,ViewState,Session等的使用。
(3)ASP.NET應用程序與網頁的生命周期,以及相關對象(比如httpcontext,response,request)的用途。
(4)ASP.NET實現事件驅動的內幕
(5)自定義用戶控件
再次強調一下,沒有OO基礎,很難掌握上述技術,就只能被這些東東牽著鼻子走了,會很被動。