[你必须知道的.NET]第三十一回,深入.NET 4.0之,从“新”展望
總體來(lái)說(shuō),這是一篇介紹性的文章,不會(huì)涉及過(guò)多技術(shù)細(xì)節(jié)和研究過(guò)程。但是,作為拉開(kāi)序幕的第一頁(yè),本文以提綱挈領(lǐng)的方式展開(kāi)對(duì).NET 4.0的初次體驗(yàn)。從What’s new的角度,開(kāi)始我對(duì).NET 4.0新特性的探索之旅。既然是介紹,那么首先給出導(dǎo)航式的鏈接是必要而必須的,因?yàn)橐黄⌒〉钠鶇s是難以交代全面What’s new in details,所以看官盡情各取所需吧:
- Visual Studio 2010 in MSDN
- What's New in Visual Studio 2010
- What's New in the .NET Framework 4
- .NET Framework 4 Beta 1
- Visual Studio 2010 Samples
- Visual Studio 2010 and .NET Framework 4 Training Kit
- Visual Studio 2010 Videos
- .NET Framework 4 Videos
- Visual Studio 2010 Beta 1 Walkthroughs
因?yàn)槭荹你必須知道的.NET]子系列,所以在此我只關(guān)注2010發(fā)布之后伴隨.NET 4.0的新特性,總結(jié)起來(lái)主要包括以下幾個(gè)方面:
- CLR (Common Language Runtime)
- DLR (Dynamic Language Runtime)
- C# and VB .NET
- Web and Networking
- Basic class libraries(BCL)
- Data
- Client
- Web
- Communications
所以,對(duì)what’s new的解讀,我將分為兩個(gè)大的部分來(lái)詮釋:
- Hot Focus,熱點(diǎn)解讀。對(duì)新特性中值得期待和關(guān)注的技術(shù)點(diǎn)進(jìn)行一點(diǎn)整理,因?yàn)樘嗵嗔?#xff0c;所以學(xué)會(huì)抽絲撥繭才是正確之道,在Hot Focus中我們首先對(duì)亮點(diǎn)進(jìn)行一番認(rèn)知。同時(shí),Hot Focus內(nèi)容體系也將是為了《深入.NET 4.0》子系列探索的方向和大綱。
- Full View,.NET 4.0全景圖。把概念涉及到各個(gè)新增的方面,由此對(duì).NET4.0有個(gè)全面和基本的了解。
Hot Focus
在我看來(lái),值得Hot Focus的主要包括以下幾個(gè)方面:
- CLR & DLR
- C#
- Web
- Cloud
- Data
- F#
下面進(jìn)行一一分解。
CLR 4.0
是的,不用懷疑,CLR 4.0來(lái)了,從CLR 2.0一躍升級(jí)到CLR 4.0,我們對(duì)新建項(xiàng)目進(jìn)行反編譯,即可從Manifest中獲取當(dāng)前CLR的版本信息,例如:
可見(jiàn)沒(méi)有重量級(jí)的新成員,.NET產(chǎn)品組是不敢貿(mào)然為新生兒掛上如此響亮的封號(hào)。那么這個(gè)分量足夠的新家伙到底是誰(shuí)呢?
答案是:
- DLR(Dynamic Language Runtime),動(dòng)態(tài)語(yǔ)言運(yùn)行時(shí),提供了對(duì)動(dòng)態(tài)語(yǔ)言在CLR級(jí)別的支持。
- Parallel Computing,并行計(jì)算,在多核時(shí)代,并行計(jì)算已經(jīng)不可避免。新的平臺(tái)下,對(duì)于并行的支持也隨之而來(lái),我們不需要在直接對(duì)線程進(jìn)行管理,Parallel和Task類,當(dāng)然還有PLINQ(Parallel LINQ)都將閃亮登場(chǎng)。
- GC,GC也有新變化,我們拭目以待。
- Convariance and Contravariance,逆變與協(xié)變,解決了泛型繼承的某些問(wèn)題,算是一場(chǎng)遲來(lái)的完善。
- Interoperability,互操作將不依賴于原有的RIAs,新的CLR確保了類型安全操作。
- Lazy Initialization,在未來(lái)的日子,通過(guò)System.Lazy<T>來(lái)為你的實(shí)例提供延遲初始化成為可能,這將意味著你的類型可以在實(shí)際需要的時(shí)候才進(jìn)行實(shí)例化操作、分配內(nèi)存空間,對(duì)性能的控制達(dá)到了新的高度。
- In-Process Side-by-Side Execution,In-Process Side-by-Side hosting解決了不同版本應(yīng)用在CLR 4.0平臺(tái)下運(yùn)行的問(wèn)題,我們以后詳細(xì)討論。
除此之外,還包括:
- Security
- ETW Events
- Code Contracts
- Profiling
所有的概念,我們都將隨后品味。那是因?yàn)?#xff0c;所有的概念都是重量級(jí)的。
C# 4.0
C# 4.0主要引入了以下程序元素:
- Office Programmability
- Dynamic
- Covariance and Contravariance
- Type Equivalence
?
關(guān)于.NET 4.0和C# 4.0的若干概念,我在[[你必須知道的.NET]第三十回:.NET十年(下)]已經(jīng)進(jìn)行過(guò)介紹性的演示與探討,大家不妨一睹為快。
ASP .NET 4.0
What's New in ASP.NET and Web Development
對(duì)于Web開(kāi)發(fā)而言, ASP .NET 4.0從3.5開(kāi)始就已經(jīng)提供了很多未集成的新東西,其中包括了類似于MVC在內(nèi)的很多了不起的改變。所以,對(duì)于.NET 4.0而言,我們對(duì)于Web開(kāi)發(fā)的貢獻(xiàn),在于對(duì)過(guò)去的整理和再生,值得關(guān)注的內(nèi)容主要包括:
- MVC,雖然VS2010 Beta1還沒(méi)有將MVC Framework整合在內(nèi),但是微軟承諾在Beta2中我們就可以看到新的MVC身影。
- Dynamic Data,對(duì),早已領(lǐng)略了如何一分鐘之內(nèi)開(kāi)發(fā)一個(gè)增刪改查式的動(dòng)態(tài)站點(diǎn),在ASP .NET 4.0中實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的Web開(kāi)發(fā)更加Powerful了。
- Web Form,在ASP .NET 4.0傳統(tǒng)的Web Form開(kāi)發(fā)被注入了更多的新特性,我們可以像MVC Application那樣無(wú)縫的使用ASP .NET Routing,對(duì)于數(shù)據(jù)源提供了Filtering支持,更多的View state控制,還有好多好多。。。
- EntityDataSource Control,支持基于Entity Framework的數(shù)據(jù)綁定控制。
還有很多,詳見(jiàn)What's New in ASP.NET and Web Development
Data
What's New in ADO.NET
在數(shù)據(jù)方面主要還是ADO .NET Entity Framework的增強(qiáng)和Expression Tree的更多支持。EF主要體現(xiàn)在以下方面:
- Persistence-Ignorant Objects,這個(gè)特性是令人歡欣鼓舞的,在新的EF框架下,EF實(shí)體類和非EF實(shí)體類都應(yīng)用EF提供的數(shù)據(jù)支持,這將意味著原有的數(shù)據(jù)模型也可以暢享EF了。
- Deferred Loading of Related Objects,如果你沒(méi)有體會(huì)過(guò)原來(lái)EF處理延遲加載使用的方式時(shí):
是很難理解,這一新特性為代碼優(yōu)化給出了機(jī)會(huì)。
- Functions in LINQ to Entities Queries,一切皆LINQ的時(shí)代,這點(diǎn)也不奇怪。
- Customized Object Layer Code Generation,為EF數(shù)據(jù)設(shè)計(jì)器提供了自動(dòng)生成代碼的可配置向?qū)?#xff0c;更加人性化的選擇。
- 還包括:Complex Type Support、Naming Service、Improved Model Brower Funcationality。
另外,對(duì)于Expression Tree,控制了幾個(gè)新的類型支持,例如?LoopExpression?和TryExpression。
BCL
基礎(chǔ)類庫(kù)的更新,是每次.NET版本更新的重要內(nèi)容,.NET 4.0中基礎(chǔ)類庫(kù)的新增內(nèi)容,同樣驚為天人。在此我僅列舉幾個(gè)重要的更新,更多的內(nèi)容參考MSDN。
- Collections
- BigInterger
- SortedSet<T>
- Tuples
- I/O
- File System Enumeration
- Memory-Mapped Files
- Isolated Storage
- Compression
- Exception
- Reflection
- 64-bit
- Application Domain Resource Monitoring
- Threading
- Unified Model for Cancellation
- Thread-Safe Collection
- Synchronization Primitives
- 。。。
- 。。。
- 很多很多,我們的策略顯然是隨用隨取。
Cloud
云計(jì)算將不可避免的到來(lái),在.NET 4.0平臺(tái)下,Azure Service應(yīng)用將眼花繚亂,但是可以肯定的是開(kāi)發(fā)模式更加簡(jiǎn)化,大量的問(wèn)題需要時(shí)間在以后,我們到時(shí)再來(lái)掂量一二。
F#
一個(gè)對(duì)我全新而又有足夠吸引力的新語(yǔ)言,以后再說(shuō)吧:-)
Full View
?
除了以上的重點(diǎn)內(nèi)容,作為.NET 4.0大家族的一部分,還有很多很多令人興奮的新東西加入進(jìn)來(lái),令我們嘆息一切太多太快的同時(shí),又帶來(lái)一絲絲驚喜和心動(dòng)。廢話少說(shuō),對(duì)其進(jìn)行一番簡(jiǎn)單的整理:
- MEF
- WPF
- WCF 4.0
- WF 4.0
- Appliction Server(代號(hào)Dublin)
結(jié)論
.NET 4.0來(lái)了,在這個(gè)夏天。在蚊子和啤酒相伴的深夜,我將繼續(xù)[你必須知道的.NET] 系列的完善,將自己對(duì)于.NET 4.0新特性的探索形成[深入.NET 4.0]這樣一個(gè)子系列。同樣是一如既往的將角度把握在語(yǔ)言和平臺(tái)本質(zhì)的探索,可能的角度上,最佳實(shí)踐式的應(yīng)用和國(guó)外最新論調(diào)的共享同樣是這一新生力量關(guān)注的話題。好戲才剛開(kāi)始,我們繼續(xù)在路上。
?
注:你必須知道的.NET, .NET 4.0子系列以VS2010 Beta1和.NET 4.0 Beta1為基礎(chǔ),任何后續(xù)更新造成的可能不同,我將盡力完善。?
?
參考文獻(xiàn)
- Visual Studio 2010 in MSDN
- What's New in Visual Studio 2010
- What's New in the .NET Framework 4
- .NET Framework 4 Beta 1
- Visual Studio 2010 Samples
- Visual Studio 2010 and .NET Framework 4 Training Kit
- Visual Studio 2010 Videos
- .NET Framework 4 Videos
- Visual Studio 2010 Beta 1 Walkthroughs
?
總結(jié)
以上是生活随笔為你收集整理的[你必须知道的.NET]第三十一回,深入.NET 4.0之,从“新”展望的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 舒适度超越所有豪车 AITO问界M7内饰
- 下一篇: 2021年中国燃油车平均油耗5.13L/