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