.NET學習筆記(1)— C#學習路線圖


目錄
一:引言
二:.NET技術體系
三:常用工具匯總
四:學習資源匯總
五:書籍推薦
六:關於閱讀技術書籍的經驗
七:總結
 

一:引言

因為工作調整,從PHP開發零基礎轉型到.NET開發,前期沒有太多空閑時間去系統學習。只好獨辟蹊徑,尋找快速掌握滿足當前需求的方法,和大家分享:

<一>:先搜集.NET平台重點知識點的概念名稱,然后通過網絡搜集該知識點的學習資料,盡可能宏觀地了解這個全新技術體系的語法結構,涉及的編程練習題反復練習;

<二>:逐行閱讀工程源代碼,再通過網絡學習遇到的知識盲點,然后把零散的知識點先記錄到學習筆記中,后續再統一整理;

可想這份挑戰並不輕松,但因為是本職工作,基本一天所有精力都在學習、思考這些新知識,代碼和筆記也會反復閱讀很多遍。這個體驗的過程中,我覺得最重要的收獲是:工作中,在時間和精力有限的情況下,先滿足當前的需求是最重要的,也就是完成大於完美。另一方面,明確一個目標,制定對應的計划,保持好心態,盡最大努力堅持下去也很重要。

 

二:.NET技術體系

1:.NET介紹

.NET平台的核心技術為:通用語言運行時(CLR:Common Language Runtiome)、基類庫(BCL:BaseClass Library)、.NET語言及VisualStudio.NET,CLR和BCL都集成在.NET開發框架軟件.NET Framework里面(win系統自帶),

.NET技術體系沿襲的是微軟的技術路線,所以主要面向windows操作系統,基於.NET技術開發的常見軟件類型有:

1》:WinForm/WPF技術開發基於Windows平台的客戶端軟件;

2》:asp.net技術開發的網站;

3》:C#語言編譯的Dll文件或者COM組件;

它主要由這幾個部分組成:編程基礎知識、Web編程、桌面編程以及數據訪問技術。下面從幾個概念介紹來構築.NET技術體系的總體情況:

 

2:C#語法

C#作為.NET體系最常用的開發語言,首先它是一門編譯型語言,也是一門類型安全的面向對象語言,它依賴.NET Framework運行。C#的語法特性主要包括屬性、枚舉、值類型和引用類型(轉換)、集合、結構以及Lambda表達式、LINQ、WPF、WebSercice、WCF、Win服務等,可以查閱C#關鍵字列表看一下。關於變量命名、方法傳參、數組、流程控制和循環控制、類的繼承、派生、多態這些基本是各個語言公共具有的特性,可參閱其他教程。

 

3:asp.net站點開發

asp.net是.NET體系的一部分,它綜合了HTML、CSS、JavaScript以及C#語言開發網站,asp.net支持三種開發模式:

WebPage(單頁面模型)

WebForms(事件驅動模型)

MVC

WebPage是過去那種流程化處理的頁面,服務器腳本和前端代碼混合。WebForms增加了控件機制,支持編寫自定義控件。

 

4:Winform軟件開發

(待續)

5:數據訪問技術

(待續)

6:調試和錯誤處理

(待續)

 

 三:常用工具匯總

VisualStudio(IDE集成開發工具)

MiscrosoftSQL Server(關系型數據庫)

IIS/IISEpress(Web服務器)

ILSpy(反編譯工具)

NuGET(包管理器)

VSS/TFS(源代碼版本管理、團隊協作)

 

四:學習資源匯總

Learning hard--微軟C#方向的MVP(http://www.cnblogs.com/zhili/
Jax技術博客(http://www.cnblogs.com/Jax/
魚·后花園的技術博客(http://www.fishlee.net/
小魚兒-fly技術博客(http://www.cnblogs.com/jyfly1984/)
MeteorSeed的博客園--C#學習筆記系列(http://www.cnblogs.com/MeteorSeed)
張善友的博客園(http://www.cnblogs.com/shanyou/) 
blsong的博客園(http://www.cnblogs.com/blsong/) 
 
五:書籍推薦:
《C#入門經典》
《C#高級編程》
《ASP.NET MVC 5高級編程》
《深入理解C#》
《Learning hard C#學習筆記》
 
六:關於閱讀技術書籍的經驗:
一本技術書總體上是用作者自己的思維方式和語言風格去描述一類技術的知識點和原理,大部分技術書籍涵蓋的內容較多,那么串聯知識模塊並且形成一個總體的知識體系就非常關鍵,有下面幾種途徑來達到串聯知識的目的:
1:理解書籍的目錄章節划分;
2:用筆划線、勾選等記錄知識要點,然后再每天固定時間溫習要點部分並寫成學習筆記;
3:隔段時間再整體溫習學習筆記,疑問處再反過來翻閱已看完的書籍;
很多時候尤其學習一門新技術的時候,大部分人根本不可能一次性領會全部內容,包括一些語法特征,這門語言為什么要設計成純面向對象,PHP為什么是解釋執行但依然那么流行?C#的頁面為什么設計成事件驅動,它的實時編譯機制的細節是怎樣的,頁面生命周期的執行細節又是怎樣?另一方面,還是要大量結合編程練習,只有在一段程序或者一個完整項目中(程序應用場景),才能全面、深刻領會從語法細節到設計模式和架構的知識,並最終形成自己的知識庫,而不是作者的一本書。

 

七:總結

不同語言的程序開發中,大部分基礎功能用到的語言特性很相近,比如字符串的拼接和拆分、數組的使用、循環遍歷,以及讀寫文件(txt、XML)、數據庫增刪改查。重新學習一門新語言,就可以先搜集這門語言獨特的語法特性,結合編程練習,達到一定的熟悉程度,可以嘗試去練習這些語法公共部分相關的編程練習,這樣更容易保證用最短的時間解決當前問題,在后續的漫長時間內,在逐漸深入學習掌握語法細節,並領會背后的設計思想。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM