如果你已經(jīng)有較多的面向?qū)ο箝_發(fā)經(jīng)驗,跳過以下這兩步:
第一步
掌握一門.NET面向?qū)ο笳Z言,C#或VB.NET 我強烈反對在沒系統(tǒng)學過一門面向?qū)ο?OO)語言的前提下去學ASP.NET。 ASP.NET是一個全面向?qū)ο蟮募夹g(shù),不懂OO,那絕對學不下去!
第二步 對.NET Framework類庫有一定的了解 可以通過開發(fā)Windows Form應用程序來學習NETFramework。ASP.NET是建構(gòu)在.NET Framework之上的技術(shù),你對.NETFramework了解得越深,學習ASP.NET就越快。 舉個例子:下面簡單列出幾個對掌握ASP.NET非常重要的概念:對象的內(nèi)存模型,委托,事件,多線程,程序集和應用程序域,安全模型 .NETFramework當然還有許多其它的東西,但不理解與把握清楚上述這些東西,是很難真正把握ASP.NET的。出于急迫的心情與現(xiàn)實的考慮,不少人沒有扎實的面向?qū)ο蠡A就想直接學習ASP.NET,其結(jié)果只能是欲速則不達。在具備了OO基礎之后,以下是具體的學習ASP.NET技術(shù)步驟。
第一步:學習HTML與CSS
這并不需要去學一大堆的諸如Dreamweaver,F(xiàn)irework之類的各種網(wǎng)頁設計工具,關(guān)鍵是理解HTML網(wǎng)頁嵌套的block結(jié)構(gòu)與CSS的box模型。許多ASP.NET控件最后都必須轉(zhuǎn)化為HTML。而且,div+CSS是當前主流的網(wǎng)頁布局模型。學習這部分時,關(guān)鍵在于理解概念,而不需要將精力花在美化頁面的許多技巧上,那是網(wǎng)站美工的工作,不是程序員的工作。
第二步:學習JavaScript.JavaScript不是Java
它主要運行于瀏覽器端??梢酝瓿稍S多工作,功能也很強大:比如它將客戶端網(wǎng)頁中的HTML元素看成一棵樹,可以編寫代碼訪問并修改樹節(jié)點,動態(tài)生成新的HTML代碼,從而達到動態(tài)修改網(wǎng)頁顯示特性的目的.JavaScript在目前的網(wǎng)站開發(fā)中用得很多,非常重要。另外,它也是目前非常流行的AJAX技術(shù)的基礎。
第三步:學習計算機網(wǎng)絡原理
找一本大學教材,重點看看它的有關(guān)互聯(lián)網(wǎng)的部分,了解一些域名解析和HTTP協(xié)議等知識。這是進行互聯(lián)網(wǎng)開發(fā)的理論基礎。
第四步:學習ASP.NET表示層技術(shù)
會設計Web頁面需要結(jié)合先前打好的面向?qū)ο蠹夹g(shù)的基礎,至少掌握以下內(nèi)容
(1) 各種Web控件的使用方法
(2) 理解信息在網(wǎng)頁中的傳送方式,比如Cookie,ViewState,Session等的使用。
(3) ASP.NET應用程序與網(wǎng)頁的生命周期,以及相關(guān)對象(比如httpcontext,response,request)的用途。
(4) ASP.NET實現(xiàn)事件驅(qū)動的內(nèi)幕
(5) 自定義用戶控件
再次強調(diào)一下,沒有OO基礎,很難掌握上述技術(shù),就只能被這些東東牽著鼻子走了,會很被動。
第五步 掌握數(shù)據(jù)庫技術(shù)
具體地說,要學習以下內(nèi)容:
(1) 學會使用SQLServer2005:不要求精通它的各種工具與管理配置技術(shù),但至少知道如何連接,如何建表,如何創(chuàng)建存儲過程
(2) 學習ADO.NET,掌握使用代碼人工訪問數(shù)據(jù)庫(別用VS2005的向?qū)?的方法
(3) 學習數(shù)據(jù)綁定控件的使用
第六步 理解多層架構(gòu)
這時,先前在OO學習階段涉及到的程序集與應用程序域等就派上用場了,現(xiàn)在,網(wǎng)站架構(gòu)大多采用多層架構(gòu):表示層、業(yè)務邏輯層、數(shù)據(jù)存取層以及數(shù)據(jù)庫本身??梢韵壬暇W(wǎng)找一此多層架構(gòu)的資料看,再找一個現(xiàn)成的比較復雜的開源ASP.NET項目分析一下其架構(gòu)就差不多了?;旧隙际且粋€套路,到處應用。有的朋友問:學習架構(gòu)是不是必須學習設計模式。
我的看法是:不必!當然,你如果學習過設計模式,那當然更好。但在實際開發(fā)中,如果只想著機械地套用某種模式,反而起不到好的結(jié)果。我的觀點:在學習設計模式時要多思多悟,其思想就會漸漸地融入你的大腦,在真實的設計實踐中,忘掉所有的寫在書上的模式,一切從實際出發(fā),相信你的直覺,只要達到設計要求的方案就是可行的方案,事實上,你這樣做了之后,回過頭來再看,會發(fā)現(xiàn)你的設計往往暗合設計模式的理論。
第七步 學習XML與Web
先了解XML的基礎知識,找本講XML的書看一下就差不多了,然后,再學習Web Service。Web Service其實可類比為遠程方法調(diào)用(以XML格式表達的調(diào)用信息)。
學到了這里,如果你還有興趣,不妨再去看看SOA,不過SOA的資料都是理論與概念,看起來比較郁悶,而且離實際開發(fā)可能比較遠。所以,這是可選項。
第八步 學習AJAX
學習AJAX的主要目的是創(chuàng)建具有更豐富特性的Web表示層,而經(jīng)過前面七步的學習,到此再學習AJAX已水到渠成,所有的基礎都已具備,不會有太大的問題了。在基礎未具備的前提下直接學AJAX,就象“浮沙之上筑高臺”,所以,將AJAX的學習次序安排在這里。
第九步 學習RIA技術(shù)
RIA:Richinternetapplication,可看成是將C/S與B/S優(yōu)點合二為一的嘗試。就具體技術(shù)來說,主要指微軟的Silverlight(WPF_E),畢竟前頭一路行來都是微軟路線。不過目前學習它主要是為了技術(shù)儲備。估計此技術(shù)的普及需要2到3年的時間,因為預裝Vista的機器去年才開始大賣。