一個老師的理解,這就是OOP
如何成為一個優秀.net程式設計師
byoned 發表於2008年11月10日 01:16 閱讀(110) 評論(12)
分類: 個人日記 舉報
這個學期帶.NET.我花了很長的時間講C#(OOP面象物件設計),因為一個合格的.NET程式設計師必須要掌握OOP技術.
下面我談談成為一個合格的.NET程式設計師要掌握哪些知識,有很多技術可能大家沒有聽過,就算開開眼界吧.如果覺的我寫的都過時或者很垃圾哪就一笑而過吧!
第一步 掌握一門.NET面嚮物件語言,C或JAVA.強烈反對在沒系統學過一門物件導向(OO)語言的前提下去學ASP.NET。 ASP.NET是一個全物件導向的技術,不懂OOP,那絕對學不下去!
第二步 對.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基礎,很難掌握上述技術,就只能被這些東東牽著鼻子走了,會很被動。
第五步 掌握資料庫技術
具體地說,要學習以下內容:
(1) 學會使用SQL Server 2005:不要求精通它的各種工具與管理配置技術,但至少知道如何連線,如何建表,如何建立儲存過程 ,如何建立觸發器.
(2) 學習ADO.NET,掌握使用程式碼人工訪問資料庫(別用VS2005的嚮導)的方法
(3) 學習資料繫結控制元件的使用
第六步 理解多層架構
這時,先前在OO學習階段涉及到的程式集與應用程式域等就派上用場了,現在,網站架構大多采用多層架構:表示層、業務邏輯層、資料存取層以及資料庫本身。
有的同學問:學習架構是不是必須學習設計模式。
我的看法是:不必!當然,你如果學習過設計模式,那當然更好。但在實際開發中,如果只想著機械地套用某種模式,反而起不到好的結果。我的觀點:在學習設計模式時要多思多悟,其思想就會漸漸地融入你的大腦,在真實的設計實踐中,忘掉所有的寫在書上的模式,一切從實際出發,相信你的直覺,只要達到設計要求的方案就是可行的方案,事實上,你這樣做了之後,回過頭來再看,會發現你的設計往往暗合設計模式的理論。
第七步 學習XML與Web Service
先了解XML的基礎知識,找本講XML的書看一下就差不多了,然後,再學習Web Service。Web Service其實可類比為遠端方法呼叫(以XML格式表達的呼叫資訊)。
學 到了這裡,如果你還有興趣,不妨再去看看SOA,不過SOA的資料都是理論與概念,看起來比較鬱悶,而且離實際開發可能比較遠。所以,這是可選項。
第八步 學習AJAX
學習AJAX的主要目的是建立具有更豐富特性的Web表示層,而經過前面七步的學習,到此再學習AJAX已水到渠成,所有的基礎都已具備,不會有太大的問題了。
在基礎未具備的前提下直接學AJAX,就象“浮沙之上築高臺”,所以,將AJAX的學習次序安排在這裡。
第九步 學習RIA技術
RIA:Rich internet application,可看成是將C/S與B/S優點合二為一的嘗試。就具體技術來說,主要指微軟的Silverlight(WPF_E),畢竟前頭一路行來都是微軟路線。
不過目前學習它主要是為了技術儲備。估計此技術的普及需要2到3年的時間,因為預裝Vista的機器今年才開始大賣。
byoned 發表於2008年11月10日 01:16 閱讀(110) 評論(12)
分類: 個人日記 舉報
這個學期帶.NET.我花了很長的時間講C#(OOP面象物件設計),因為一個合格的.NET程式設計師必須要掌握OOP技術.
下面我談談成為一個合格的.NET程式設計師要掌握哪些知識,有很多技術可能大家沒有聽過,就算開開眼界吧.如果覺的我寫的都過時或者很垃圾哪就一笑而過吧!
第一步 掌握一門.NET面嚮物件語言,C或JAVA.強烈反對在沒系統學過一門物件導向(OO)語言的前提下去學ASP.NET。 ASP.NET是一個全物件導向的技術,不懂OOP,那絕對學不下去!
第二步 對.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基礎,很難掌握上述技術,就只能被這些東東牽著鼻子走了,會很被動。
第五步 掌握資料庫技術
具體地說,要學習以下內容:
(1) 學會使用SQL Server 2005:不要求精通它的各種工具與管理配置技術,但至少知道如何連線,如何建表,如何建立儲存過程 ,如何建立觸發器.
(2) 學習ADO.NET,掌握使用程式碼人工訪問資料庫(別用VS2005的嚮導)的方法
(3) 學習資料繫結控制元件的使用
第六步 理解多層架構
這時,先前在OO學習階段涉及到的程式集與應用程式域等就派上用場了,現在,網站架構大多采用多層架構:表示層、業務邏輯層、資料存取層以及資料庫本身。
有的同學問:學習架構是不是必須學習設計模式。
我的看法是:不必!當然,你如果學習過設計模式,那當然更好。但在實際開發中,如果只想著機械地套用某種模式,反而起不到好的結果。我的觀點:在學習設計模式時要多思多悟,其思想就會漸漸地融入你的大腦,在真實的設計實踐中,忘掉所有的寫在書上的模式,一切從實際出發,相信你的直覺,只要達到設計要求的方案就是可行的方案,事實上,你這樣做了之後,回過頭來再看,會發現你的設計往往暗合設計模式的理論。
第七步 學習XML與Web Service
先了解XML的基礎知識,找本講XML的書看一下就差不多了,然後,再學習Web Service。Web Service其實可類比為遠端方法呼叫(以XML格式表達的呼叫資訊)。
學 到了這裡,如果你還有興趣,不妨再去看看SOA,不過SOA的資料都是理論與概念,看起來比較鬱悶,而且離實際開發可能比較遠。所以,這是可選項。
第八步 學習AJAX
學習AJAX的主要目的是建立具有更豐富特性的Web表示層,而經過前面七步的學習,到此再學習AJAX已水到渠成,所有的基礎都已具備,不會有太大的問題了。
在基礎未具備的前提下直接學AJAX,就象“浮沙之上築高臺”,所以,將AJAX的學習次序安排在這裡。
第九步 學習RIA技術
RIA:Rich internet application,可看成是將C/S與B/S優點合二為一的嘗試。就具體技術來說,主要指微軟的Silverlight(WPF_E),畢竟前頭一路行來都是微軟路線。
不過目前學習它主要是為了技術儲備。估計此技術的普及需要2到3年的時間,因為預裝Vista的機器今年才開始大賣。
相關文章
- 一個“老”程式設計師的思考程式設計師
- 一個BAT老程式設計師的忠告!BAT程式設計師
- 一個老程式設計師的建議程式設計師
- bang老師請一定要看我的這個問題 關於main方法的AI
- 理解這幾張圖,你就是js小牛了JS
- 這 Java 程式設計師簡歷一看就是包裝的。。Java程式設計師
- 請教banq老師一個repository的問題
- 一個老程式設計師的小小經驗(轉)程式設計師
- 一個老程式設計師的十年回顧程式設計師
- 請問老師一個關於命令模式的問題模式
- 一個老工程師給年輕人的十大忠告工程師
- 這不是就是軟體工程師最愛的東西軟體工程工程師
- 趣圖:程式設計師就是這樣被打斷的程式設計師
- 面試官:這就是你理解的Java多執行緒基礎?面試Java執行緒
- [非搬運]一個JS初級工程師的閉包自我理解---閉包雖老,我亦猶新!JS工程師
- 用汽車比喻理解OOP - Jonathan KuhlOOP
- OOP: 理解類和物件(1) (轉)OOP物件
- OOP: 理解類和物件(2) (轉)OOP物件
- 一個老程式設計師對學弟學妹的一些忠告程式設計師
- 一個老程式設計師的30年生涯回顧(譯文)程式設計師
- 一個美國老師眼中的中國人工智慧發展現狀人工智慧
- 一個不上程式序員的困惑,請彭老師指點
- 我所理解的OOP——UML六種關係OOP
- 這些就是程式設計師找不到開發工作的原因程式設計師
- 每到一個階段,都會有一個最火的程式設計師職位,目前就是前端!程式設計師前端
- Javabean就是這樣用的JavaBean
- 一個老程式設計師在網際網路寒冬下的感悟程式設計師
- 看看一個老程式設計師是如何手寫Spring MVC的!程式設計師SpringMVC
- 一個老程式設計師未來10年的計劃目標程式設計師
- 一個好的軟體工程就是一個好電影軟體工程
- 戴老師的學習驗收(一,二)
- 試讀《Linux就是這個範兒》有感Linux
- 《Linux就是這個範兒》試讀有感Linux
- 試讀《Linux 就是這個範兒》 有感Linux
- “世界就是一個巨大的草臺班子”
- 一個老程式猿的焦慮
- 一個老程式猿的分享4
- 就是這個美女程式設計師,寫出了讓阿波羅成功登陸月球的程式碼!程式設計師