中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

拋磚引玉:我看微軟.NET各子技術(shù)領(lǐng)域之應(yīng)用前景

  從2002年發(fā)布.NET 1.0,歷經(jīng)8年發(fā)展,.NET發(fā)展到了4.0,已經(jīng)成為一個(gè)龐大而復(fù)雜的軟件開(kāi)發(fā)與運(yùn)行平臺(tái),其架構(gòu)日益復(fù)雜,其應(yīng)用領(lǐng)域也在不斷地?cái)U(kuò)展,包容了“一堆”的子技術(shù)領(lǐng)域。在.NET 4.0即將發(fā)布之際,回顧一下已發(fā)布的各項(xiàng).NET技術(shù),看看哪些技術(shù)用得很火,哪些被打入冷宮,再猜猜.NET 4.0中可能會(huì)有哪些技術(shù)會(huì)得到“青睞”,是件有意思的事。

  1. 桌面應(yīng)用程序開(kāi)發(fā)技術(shù)( Windows Form和WPF)

  在.NET桌面應(yīng)用程序開(kāi)發(fā)領(lǐng)域,Windows Form是“前輩”,相比以前的老祖宗MFC,其開(kāi)發(fā)效率高得多,即使比一向以“高效率”著稱的VB、Delphi之類,也不遜色,因此在很長(zhǎng)的一段時(shí)間內(nèi),Windows Form成為.NET 桌面領(lǐng)域的主流技術(shù),而且有一大批各式各樣的第3方控件,其功能可謂應(yīng)有盡有,使用方便。

  Windows Form的問(wèn)題是“千人一面”,要想做出“與眾不同”的界面,真得費(fèi)不少力氣。

  .NET 3.0中出現(xiàn)的WPF,在界面設(shè)計(jì)和用戶體驗(yàn)上比Windows Form要強(qiáng)得多,比如其強(qiáng)大的數(shù)據(jù)綁定、動(dòng)畫(huà)、依賴屬性和路由事件機(jī)制,都非常棒。然而,WPF最頭痛的是性能,另外,在需要快速開(kāi)發(fā)原型的場(chǎng)景,WPF暫時(shí)還比不上Windows Form方便。

  .NET 4.0中,WPF在性能上有較大的改進(jìn),這點(diǎn)在使用WPF開(kāi)發(fā)的Visual Studio 2010上體現(xiàn)極為明顯,Visual Studio 2010 CTP和BETA1只能用“慘不忍睹”一詞來(lái)形容,BETA2就有一個(gè)性能上的飛越,但還是不是地玩點(diǎn)“崩潰”、“掛死”的把戲,而當(dāng)前的RC版本,我覺(jué)得其使用體驗(yàn)已經(jīng)超越了VS 2008。

  我認(rèn)為,WPF取代Windows Form是必然的。

  2. 數(shù)據(jù)存取技術(shù)

  (1) ADO.NET。這不用多說(shuō)了,在實(shí)際開(kāi)發(fā)中用得太多了,事實(shí)證明了它的成功。

  (2) LINQ。

  這也是個(gè)很大的領(lǐng)域,里面最牛的是LINQ to Object,我一用就喜歡上了。

  LINQ to XML也很好,它把程序員從代碼中解放出來(lái),可以完成大部分XML存取功能,讓大家很高興有機(jī)會(huì)能和原先.NET所提供的“一堆”XML相關(guān)類說(shuō)聲“不見(jiàn)”。

  LINQ to DataSet。作為一個(gè)ADO.NET技術(shù)的補(bǔ)充,這是一個(gè)無(wú)足輕重的小卒子,在開(kāi)發(fā)中可以用,也可以直接忽略。

  LINQ to SQL和ADO.NET實(shí)體框架。這兩個(gè)技術(shù)功能重疊,基本上讓人懷疑其中有一個(gè)是不是“沒(méi)有存在的必要”,所以曾有“LINQ to SQL已死”的傳言。當(dāng)然,后來(lái)微軟公司表態(tài)說(shuō)仍然會(huì)繼續(xù)開(kāi)發(fā)LINQ to SQL的后續(xù)版本,爭(zhēng)論平息。

  但我個(gè)人覺(jué)得,在實(shí)際開(kāi)發(fā)中還是使用ADO.NET實(shí)體框架更合適。LINQ to SQL有的功能它都有,而且用起來(lái)更為靈活,難得的是它的使用并不比LINQ to SQL復(fù)雜多少。

  ADO.NET實(shí)體框架還延伸到了其它的技術(shù)領(lǐng)域,是一項(xiàng)重要的基礎(chǔ)數(shù)據(jù)存取技術(shù)。

  因此, ADO.NET實(shí)體框架 vs LINQ to SQL,前者勝出。

  (3) WCF Data Service。

  這是一項(xiàng)非常值得關(guān)注的技術(shù),原先叫ADO.NET Data Service,它體現(xiàn)了“數(shù)據(jù)是一種服務(wù)”的思想,讓數(shù)據(jù)可以通過(guò)HTTP請(qǐng)求直接獲取,它設(shè)計(jì)了一套URI模式,可以完成投影、選擇、分頁(yè)等功能,用起來(lái)方便靈活。

  我覺(jué)得在SOA大行于世的分布式系統(tǒng)時(shí)代,WCF Data Service應(yīng)該會(huì)得到應(yīng)用

  但這一技術(shù)問(wèn)題在于性能。由于數(shù)據(jù)需要走互聯(lián)網(wǎng),所以如果網(wǎng)速很慢的話,基于此技術(shù)搭建的應(yīng)用程序其用戶體驗(yàn)將“慘不忍睹”。而且,互聯(lián)網(wǎng)服務(wù)安全問(wèn)題非常關(guān)鍵,保證基于WCF Data Service技術(shù)搭建的應(yīng)用程序數(shù)據(jù)安全,想必將成為開(kāi)發(fā)者最費(fèi)腦筋的地方。

  (4) WCF RIA Service。

  這個(gè)技術(shù)與Silverlight密不可分。我還沒(méi)有系統(tǒng)地了解這一技術(shù)領(lǐng)域,不予評(píng)說(shuō)。

  3. Web開(kāi)發(fā)技術(shù)

  這一領(lǐng)域,沒(méi)說(shuō)的,ASP.NET中的Web Form是當(dāng)之無(wú)愧的主流。經(jīng)過(guò)多年的發(fā)展,Web Form已高度成熟。VS 2008中加入的AJAX系列組件,如ScriptManger、UpdataPanel之類,再配合一堆的應(yīng)用了AJAX技術(shù)的控件,讓W(xué)eb Form更是如虎添翼。基于這種成熟技術(shù)開(kāi)發(fā)Web網(wǎng)站,不管是用戶還是開(kāi)發(fā)企業(yè),都比較放心。

  從.NET 3.5 SP1開(kāi)始,Web領(lǐng)域多了些新東西。

  (1) ASP.NET MVC。MVC這一設(shè)計(jì)模式已有多年的歷史,也有很多的成熟的框架,但在.NET“官方”平臺(tái)上,卻是個(gè)新加入的“成員”,并不算成熟,我覺(jué)得其應(yīng)用前景要看看再說(shuō)。我不知道業(yè)界是否已有基于此技術(shù)開(kāi)發(fā)的實(shí)際項(xiàng)目,有這方面項(xiàng)目經(jīng)驗(yàn)的朋友,不妨談?wù)勛约旱目捶ā?/p>

  (2) ASP.NET Dynamic Data。這是一個(gè)看上去很酷的技術(shù)。當(dāng)使用它來(lái)創(chuàng)建網(wǎng)站時(shí),Visual Studio 2010會(huì)幫你創(chuàng)建一個(gè)DynamicData文件夾,里面放了數(shù)十個(gè)模板文件,構(gòu)建了一個(gè)網(wǎng)站的“腳手架”,幾乎不用編碼,就可以生成一個(gè)全功能的“CRUD”數(shù)據(jù)驅(qū)動(dòng)網(wǎng)站。

  它的設(shè)計(jì)思想很好:底層使用ADO.NET實(shí)體框架或LINQ  to SQL構(gòu)造數(shù)據(jù)模型,通過(guò)提取數(shù)據(jù)模型中的元數(shù)據(jù),動(dòng)態(tài)選擇合適的模板生成網(wǎng)頁(yè)。這就避免了真實(shí)項(xiàng)目中不得不為每個(gè)數(shù)據(jù)存取任務(wù)設(shè)計(jì)不同網(wǎng)頁(yè)的負(fù)擔(dān),而且這一技術(shù)提供了很多的方式去允許你定制網(wǎng)站。

  我當(dāng)初剛一接觸時(shí),也很興奮,這是個(gè)好東西啊!但后來(lái)我改變了看法,這一技術(shù)的問(wèn)題在于它過(guò)于“自動(dòng)化”了,而且需要包容數(shù)十個(gè)文件,讓其與現(xiàn)有的ASP.NET網(wǎng)站集成相當(dāng)不便,配置起來(lái)麻煩。

  我個(gè)人認(rèn)為,在現(xiàn)有.NET Web開(kāi)發(fā)技術(shù)應(yīng)用現(xiàn)狀之下,任何一個(gè)與現(xiàn)有的ASP.NET網(wǎng)站(以Web Form+AJAX為主體技術(shù))集成麻煩的技術(shù),都很難有“美好”的前途。很不幸,ASP.NET Dynamic Data是這樣的例子,ASP.NET MVC也有同樣的問(wèn)題,但沒(méi)有ASP.NET Dynamic Data嚴(yán)重,而且ASP.NET MVC架構(gòu)清晰,還是比較易于維護(hù)。

  (3) Silverlight。這實(shí)際上是另一種Web應(yīng)用架構(gòu)的代表技術(shù),其立足點(diǎn)在于充分利用客戶端的計(jì)算資源,可以大大地降低對(duì)服務(wù)端的依賴,而且易于構(gòu)造良好的用戶體驗(yàn),我個(gè)人認(rèn)為其發(fā)展大有可觀。是一個(gè)需要重點(diǎn)關(guān)注的技術(shù)。

  4. 插件技術(shù)

  .NET 4.0引入了一個(gè)“Managed Extensibility Framework(MEF)”,我在此鄭重推薦!

  MEF通過(guò)簡(jiǎn)單地給代碼附加“[Import]”和“[Export]”標(biāo)記,我們就可以清晰地表明組件之間的“服務(wù)消費(fèi)”與“服務(wù)提供”關(guān)系,MEF在底層使用反射動(dòng)態(tài)地完成組件識(shí)別、裝配工作。從而使得開(kāi)發(fā)基于插件架構(gòu)的應(yīng)用系統(tǒng)變得簡(jiǎn)單。夠酷的技術(shù)!

  另外,請(qǐng)忘記.NET 3.5所引入的“MAF(Managed Add-in Framework )”吧,MAF引入了一個(gè)復(fù)雜的宿主與插件間的通訊管道架構(gòu),僅僅是創(chuàng)建一個(gè)最簡(jiǎn)單的SayHello宿主和插件,你也必須創(chuàng)建多達(dá)8個(gè)項(xiàng)目!

  最要命的是MAF設(shè)計(jì)者“想”得過(guò)多,設(shè)計(jì)了復(fù)雜的接口和類繼承體系,而且選擇讓插件運(yùn)行于與宿主不同的應(yīng)用程序域中,這就使得插件與宿主之間的通訊變得復(fù)雜。個(gè)人認(rèn)為,這些實(shí)在不是一個(gè)好的設(shè)計(jì)決策。

  我估計(jì),MAF會(huì)“無(wú)疾而終”。

  5. WCF和.NET Remoting

  其實(shí)這是一個(gè)不需要討論的問(wèn)題,有了WCF,我還要Remoting干什么?   因?yàn)榍罢甙莺笳叩乃泄δ埽疫€提供了更多。

  WCF的問(wèn)題是微軟企圖用一個(gè)框架解決所有的問(wèn)題,因此其架構(gòu)非常復(fù)雜,任何一名想探究其底層運(yùn)行機(jī)理的人,都必須要有足夠的心理準(zhǔn)備和耐心。

  我們可以看到WCF向其它領(lǐng)域的滲透,比如前面的WCF Data Service,還有Workflow Service(將工作流發(fā)布為WCF服務(wù)),看來(lái)微軟是將“寶”押在WCF上了,凡是帶有“服務(wù)”字樣的,微軟都有把它改造為WCF服務(wù)的沖動(dòng)。

  因此,WCF是不得不學(xué)習(xí)和掌握的技術(shù)。

  6. 多線程與并行計(jì)算

  關(guān)于并行計(jì)算,我已經(jīng)寫(xiě)過(guò)不少文章了,廢話少說(shuō),在多核時(shí)代,我認(rèn)為.NET并行計(jì)算中的任務(wù)并行庫(kù)和并行LINQ,會(huì)得到較多的應(yīng)用

  7. 工作流

  這個(gè)技術(shù),我看是微軟自己把事弄砸了。工作流從.NET 3.0開(kāi)始引入,到.NET 3.5已經(jīng)比較完善了,也有了一些實(shí)際的應(yīng)用。但.NET 4.0就來(lái)了個(gè)另起爐灶,WF4與WF3.5相比,簡(jiǎn)直是另一個(gè)產(chǎn)品,而且WF4的BETA1和BETA2相比,居然在對(duì)象模型上也有大的改動(dòng),RC版本中的WF4我還沒(méi)看,不知又有什么變動(dòng),應(yīng)該不會(huì)再變了吧?!

  對(duì)于這樣一個(gè)“變色龍”,誰(shuí)用誰(shuí)膽大。

  8. 函數(shù)式編程語(yǔ)言F#

  函數(shù)式編程很有趣,VS 2010中F#成為.NET正式成員。F#中的許多特性,比如不可更改(immutable)的數(shù)據(jù)結(jié)構(gòu),聲明性編程風(fēng)格,強(qiáng)大的類型推斷,所有東西都是表達(dá)式等,都讓習(xí)慣了面向?qū)ο箫L(fēng)格的程序員感到新奇。

  我個(gè)人覺(jué)得,F(xiàn)#如果用于開(kāi)發(fā)多線程并行計(jì)算程序,會(huì)有較高的開(kāi)發(fā)效率,而函數(shù)式編程的特點(diǎn),也會(huì)使它在科學(xué)計(jì)算中有較好的表現(xiàn)。但用于開(kāi)發(fā)CRUD之類的MIS系統(tǒng),至少目前還是免談吧。

  9. 云計(jì)算

  Visual Studio 2010集成了云計(jì)算開(kāi)發(fā)的項(xiàng)目模板。

  云計(jì)算是一個(gè)說(shuō)不完的話題。微軟在這方面投入巨大。它精心打造了Azure這個(gè)云計(jì)算平臺(tái)。了解Azure的最佳方法是看“DAVID CHAPPELL”的文章《INTRODUCING WINDOWS AZURE》(pdf),這篇文章可以在微軟網(wǎng)站上找到。

  雖然我個(gè)人認(rèn)可云計(jì)算是一個(gè)大的發(fā)展方向,但對(duì)于中國(guó),這個(gè)技術(shù)是一道遠(yuǎn)方的亮麗風(fēng)景,僅供觀賞。因?yàn)閲?guó)內(nèi)還沒(méi)有一個(gè)成熟的云計(jì)算平臺(tái),而微軟的Azure目前又沒(méi)有開(kāi)放中國(guó)大陸的云計(jì)算購(gòu)買服務(wù),加上中國(guó)又有特殊的國(guó)情,所以一切都只是空中樓閣。

  云計(jì)算真正應(yīng)用于國(guó)內(nèi),諸位請(qǐng)繼續(xù)等待吧。

  10. 小結(jié)

  上面將我所了解的.NET技術(shù)過(guò)了一遍,由于本人不在業(yè)界一線工作,加上.NET領(lǐng)域本身很龐大,受限于個(gè)人的能力,因此,本文難逃“紙上談兵”、“掛一漏萬(wàn)”之窘境,唯望能拋磚引玉罷了。

  本文如有錯(cuò)誤,敬請(qǐng)諸位指正并海涵。

NET技術(shù)拋磚引玉:我看微軟.NET各子技術(shù)領(lǐng)域之應(yīng)用前景,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久精品一区二区三区四区 | 成人久久18免费网站 | 日韩欧美在线一区二区 | 欧美一区二区在线视频 | 成人免费一区二区三区视频网站 | 欧美a区 | 久久精品中文字幕 | 欧美日韩精品在线免费观看 | 1000部精品久久久久久久久 | 欧洲视频一区二区 | 色综合区| 亚洲视频国产 | а_天堂中文最新版地址 | 久草在线高清 | 鸳鸯谱在线观看高清 | 国内精品在线视频 | h视频在线免费 | 天天干天天色 | 色综合99 | 日韩成人在线电影 | 久久在看 | 午夜久久久 | www.欧美 | 91视频电影 | 国产一区二区成人 | 亚洲欧美一区二区三区在线 | 欧美久久一区二区三区 | 亚洲一区免费 | 欧美精品一区二区三区四区 在线 | 国产精品视频在线播放 | 久久久久成人精品 | 天天综合久久 | 国产一区二区av | 午夜影院网站 | 亚洲性人人天天夜夜摸 | 久久精品a级毛片 | 美女黄视频网站 | 日韩精品一区在线 | 成人精品在线观看 | 国产一区亚洲 | 久久久国产精品入口麻豆 |