一:引言
因為工作調整,從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(源代碼版本管理、團隊協作)
四:學習資源匯總
《C#高級編程》
《ASP.NET MVC 5高級編程》
《深入理解C#》
《Learning hard C#學習筆記》
七:總結
不同語言的程序開發中,大部分基礎功能用到的語言特性很相近,比如字符串的拼接和拆分、數組的使用、循環遍歷,以及讀寫文件(txt、XML)、數據庫增刪改查。重新學習一門新語言,就可以先搜集這門語言獨特的語法特性,結合編程練習,達到一定的熟悉程度,可以嘗試去練習這些語法公共部分相關的編程練習,這樣更容易保證用最短的時間解決當前問題,在后續的漫長時間內,在逐漸深入學習掌握語法細節,並領會背后的設計思想。
