c#學(xué)習計劃范文
c#學(xué)習計劃范文
C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。只是對于不少人來說,學(xué)習C#并不容易,特別是女生,那么要下定決心學(xué)好C#的話,最好要有可行的學(xué)習計劃表。下面是學(xué)習啦小編整理的c#學(xué)習計劃范文,希望對您有幫助。
c#學(xué)習計劃范文篇1
第一版:單頁面讀取
目標:寫一個控制臺程序,可以從網(wǎng)絡(luò)上讀取一個指定頁面的HTML內(nèi)容。并輸出到控制臺
作用:練習語法,理解類庫階段,比如屬性HTTP相關(guān)的類的操作,String類的操作,控制臺操作
第二版:.2層頁面讀取
目標:在前面的基礎(chǔ)上,讀取到一個頁面之后,用正則操作分析出其中的URL地址,讀取第二層頁面
作用:可以學(xué)習正則,數(shù)組操作。
第三版:.N層頁面讀取
目標:在前面的基礎(chǔ)上,讀取N層網(wǎng)頁。
作用:可以學(xué)習遞歸,異常處理(N層頁面,總會遇到訪問不到的無效鏈接的),以及循環(huán)讀取控制的問題(重復(fù)訪問首頁:從首頁出發(fā)爬行,子頁面再次指向首頁的問題)。
程序做到這里,基本上就是慢如烏龜了。然后就是考慮加速
第四版:.N層頁面單線程讀取
目標:在前面的基礎(chǔ)上,把訪問HTML部分代碼放置到一個線程中,并和前面的結(jié)果保持一致
作用:可以學(xué)習代碼重構(gòu)(因為功能要保持前面一個版本完全一樣,只是改成線程操作),線程相關(guān)的類庫
第五版:.N層頁面,多線程讀取
目標:使用多線程來同步讀取網(wǎng)頁內(nèi)容,并解析之后,放入到待解析隊列中。
作用:學(xué)習多線程操作,線程同步概念,以及同步操作。
這時候運行速度飛快,但是內(nèi)存消耗也飛快。于是會就會有第六版本
第六版.N層頁面,多線程讀取,存入數(shù)據(jù)庫
目標:在前面的基礎(chǔ)上,把讀取的內(nèi)容保存到數(shù)據(jù)庫中
作用,數(shù)據(jù)庫讀寫操作學(xué)習。
第七版:增加控制界面
目標:運行過程中有些參數(shù),比如線程數(shù),爬行深度這些參數(shù)需要一個界面來控制。還有一些運行數(shù)據(jù),比如抓取數(shù)目,錯誤數(shù)目,隊列長度等需要在界面上直觀的顯示出來。這都需要把控制臺的程序,改成UI界面的。
作用:學(xué)習UI開發(fā),以及線程和UI的交互。
基本上到了這里,如果按這個來操作,C#的學(xué)習結(jié)束了,完全過關(guān)。
c#學(xué)習計劃范文篇2
第一階段:.Net基礎(chǔ)加強
常用數(shù)據(jù)結(jié)構(gòu)(List、Dictionary、Array)、多態(tài)、常用設(shè)計模式、反射、常用.net類庫、泛型、IO流、委托事件、正則表達式、反射、XML等。
第二階段:數(shù)據(jù)庫開發(fā)及ADO.Net
1、索引、事務(wù)、SQL語言高級技術(shù)(空值處理、聚合與分組、數(shù)據(jù)分頁、Union、日期函數(shù)、類型轉(zhuǎn)換函數(shù)、流控函數(shù)、表連接、子查詢、存儲過程、觸發(fā)器)、數(shù)據(jù)庫設(shè)計范式、數(shù)據(jù)庫調(diào)優(yōu)。
2、ADO.Net:行集、數(shù)據(jù)集、Enterprise Library(SQLHelper)、SQL注入漏洞防范。
3、三層架構(gòu):UI+BLL+DAL三層架構(gòu)是目前企業(yè)中應(yīng)用最廣的系統(tǒng)架構(gòu)模式,這個階段我們將學(xué)習動軟代碼生成器、CodeSmith、自己動手寫三層架構(gòu)等技術(shù)。
4、做一個具體的項目(類似餐飲管理系統(tǒng)之類的項目):
第三階段: JavaScript與JQuery
1、HTML高級特性、CSS(包含Div+CSS布局);
2、JavaScript基礎(chǔ)、JavaScript高級語法(JS面向?qū)ο笤蚿rototype、混合方式構(gòu)造對象、面向?qū)ο髮嵗斀?、作用域、閉包、call和apply)、JavaScript Dom;
3、JQuery(JQuery函數(shù)、隱式迭代、鏈式編程、id選擇器、tag選擇器、CSS選擇器、層次選擇器、表單選擇器、過濾選擇器、復(fù)合選擇器、節(jié)點導(dǎo)航、節(jié)點操作、樣式操作、事件、動畫、JQuery Cookie、JQueryUI);
CSS、JavaScript是ASP.Net開發(fā)的基礎(chǔ),把這些掌握好了就能很輕松的學(xué)會ASP.Net;Dom是實現(xiàn)網(wǎng)頁動態(tài)效果的技術(shù),在網(wǎng)站越來越個性化年代,招聘企業(yè)對應(yīng)聘者的Dom水平要求非常高;JQuery是近幾年異軍突起的JavaScript框架庫,幾乎成了Web前端開發(fā)事實上的標準,大部分企業(yè)都是使用JQuery進行Web前端的開發(fā)。
第四階段: ASP.Net開發(fā)
Socket網(wǎng)絡(luò)編程、多線程、自己動手寫Web服務(wù)器、ashx模式Web開發(fā)、ViewState、Cookie、Session、Http協(xié)議、Web開發(fā)基本原則、XSS漏洞防范、Request對象、Response對象、Server對象、虛擬路徑、HttpHandler深入、ASP.Net生命周期、WebForm原理、服務(wù)端基本控件、WebShell漏洞防范、HTML服務(wù)端控件、驗證框架、MasterPage、數(shù)據(jù)綁定控件(ObjectDataSource、列表類綁定控件、GridView、FormView、ListView、Repeater、高效率分頁)、緩存、錯誤處理、AJAX(XMLHTTP、JQuery AJAX、Json)、全局文件、HttpHandler與HttpModule、IIS配置、NVelocity模板引擎。
由于微軟對ASP.Net進行高度封裝,因此ASP.Net入門非常簡單,開發(fā)人員不需要了解HTML、JavaScript、Http協(xié)議也可以快速開發(fā)出一個Web系統(tǒng),正因為如此,社會上充斥著大量這樣的“拖控件的開發(fā)人員”,使得很多Java、PHP等語言的開發(fā)人員詆毀ASP.Net開發(fā)人員的時候經(jīng)常會說“你們什么都不懂,就會拖控件”。
ASP.Net的快速開發(fā)是ASP.Net非常大的一個優(yōu)點,可以加快開發(fā)效率,這是行業(yè)的發(fā)展趨勢,但是局限于這樣的“傻瓜化開發(fā)方式”的開發(fā)人員的競爭力和成長性都是非常有限的,遇到ASP.Net一些高級技術(shù)(比如ASP.Net MVC、SEO、網(wǎng)站調(diào)優(yōu)、服務(wù)端客戶端混合編程、AJAX等)的時候就完全不能勝任。通過上一個階段的HTML、JavaScript、Dom的學(xué)習,學(xué)員已經(jīng)有了很好的HTML、JavaScript基礎(chǔ);在ASP.Net課程的一開始,不是直接學(xué)習怎么拖ASP.Net控件進行快速開發(fā),而是通過ajaxx的模式開發(fā)原始的動態(tài)網(wǎng)站,明白“請求—處理—響應(yīng)模型”、“Http協(xié)議、Http無狀態(tài)”、“C#代碼渲染生成瀏覽器端JavaScript”、“ViewState的作用”、“Session的原理”等這些基本而又重要的原理,從而掃清后面ASP.Net知識學(xué)習的基礎(chǔ)性障礙。
ASP.Net中有一些技術(shù)是有局限性的,要根據(jù)這些技術(shù)在企業(yè)中的實際應(yīng)用情況進行調(diào)整、補充。比如項目中幾乎沒有在UI層直接訪問數(shù)據(jù)庫的,而是采用三層架構(gòu),因此不學(xué)習UI層直連數(shù)據(jù)庫的控件SQLDataSource,而是把主要精力放在講解三層架構(gòu)開發(fā)模式。再比如ASP.Net內(nèi)置的AJAX解決方案UpdatePanel只在部分要求不高的內(nèi)網(wǎng)項目中才被使用,因此學(xué)習UpdatePanel的使用和原理之外,把更多的時間放在學(xué)習企業(yè)中用的最多的JQuery AJAX解決方案上。
第五階段:ASP.Net項目
1、CMS系統(tǒng):這是一個包含了資訊欄目管理、資訊發(fā)布、富文本編輯器、頁面靜態(tài)化、URL重寫、驗證碼、AJAX、評論管理、網(wǎng)站安全、高效率分頁、權(quán)限管理、友情鏈接管理等技術(shù)的內(nèi)容管理系統(tǒng)。
第六階段:ASP.Net MVC 技術(shù)基礎(chǔ)
ASP.Net MVC是微軟推出的區(qū)別于ASP.Net WebForm的Web開發(fā)新技術(shù),由于ASP.Net MVC解決了ASP.Net WebForm的很多缺點,非常適合大型、中型項目的開發(fā),一經(jīng)推出就受到了.Net開發(fā)社區(qū)的追捧,很多.Net開發(fā)人員的職位要求中都提到了要求掌握ASP.Net MVC。
主要知識點:Entity Framework、Linq To EF、MVC模型、Html.Helper、AspNet MVC下的Ajax、AspNet MVC分頁、路由(Routing)、常用ActionResult、Razor視圖引擎;
第七階段:ASP.Net MVC 項目
B2C電子商城。這是一個典型的基于ASP.Net MVC技術(shù)的B2C電子商城項目,使用經(jīng)典的三層架構(gòu)進行開發(fā)。涉及商品管理、用戶管理、訂單管理、導(dǎo)航管理、站內(nèi)搜索引擎、靜態(tài)頁面生成(新浪、搜狐等大型網(wǎng)站普遍采用的技術(shù))、視頻轉(zhuǎn)碼和播放、偽靜態(tài)設(shè)置(URL重寫)、RSS輸出、水印設(shè)置、在線支付(支持支付寶、財付通、快錢等第三方支付平臺)、AJAX無刷新操作、敏感詞過濾、無刷新上傳等核心模塊。還涉及到工廠模式、抽象工廠、Spring.Net、Memcached、Redis分布式隊列、MongoDB、權(quán)限管理、單元測試、WebService、WCF、圖片文件集群處理、源代碼管理(SVN、CVS)、網(wǎng)站優(yōu)化等技術(shù)的應(yīng)用。大型互聯(lián)網(wǎng)站由于訪問量非常大,因此不是那些單純用ASP.Net控件拖拽開發(fā)的開發(fā)人員能夠開發(fā)的,也不是閉門造車能夠造出來的,必須是在實際項目中經(jīng)過無數(shù)訪問者的使用、反饋、修改才能做出來的。
項目:自己開發(fā)一個B2C商城,并且做一個實例(一個實際的店鋪)。
模仿nopCommerce,并分析nopCommerce.把nopCommerce研究清楚。(寫詳細的分析筆記,用自己的語言,從學(xué)習的角度。)
第八階段: .Net開發(fā)Android、IPhone技術(shù)
Unity3D開發(fā)Android、IPhone、網(wǎng)游游戲開發(fā)課程
1)Unity3D場景編輯器使用;3D模型導(dǎo)入導(dǎo)出;地形和天空編輯;Unity3D C#語言特色語法;
2)游戲菜單GUI;血條繪制;配置信息保存;多場景控制;
3)3D模型控制;PhysX物理引擎;第一人稱角色控制;第三人稱角色控制與場景漫游;
4)任務(wù)自動路徑行走;粒子系統(tǒng);游戲3D音樂播放;模型3D動畫;
5)要做的項目:做兩個小游戲。(至少在商店上架一個會有很多人付費的游戲。)
jQueryMobile和PhoneGap做移動開發(fā):
1、使用jQueryMobile制作移動網(wǎng)站
2、把移動網(wǎng)站使用Phonegap打包成app
3、調(diào)用手機的功能,如:響鈴、震動攝像頭、獲取地理位置等
4、在地圖上顯示地理位置
5、移動網(wǎng)站和服務(wù)器端通信