[你必須知道的.NET]第三十一回,深入.NET 4.0之,從“新”展望
anytao.net | 《你必須知道的.NET》網站 | Anytao技術博客
發布日期:2009.05.22 作者:Anytao
© 2009 Anytao.com ,Anytao原創作品,轉貼請注明作者和出處。
/// /// 本文開始,將以《.NET 4.0深入》為主線,開始一段體驗.NET 4.0的激動旅程。 ///
總體來說,這是一篇介紹性的文章,不會涉及過多技術細節和研究過程。但是,作為拉開序幕的第一頁,本文以提綱挈領的方式展開對.NET 4.0的初次體驗。從What’s new的角度,開始我對.NET 4.0新特性的探索之旅。既然是介紹,那么首先給出導航式的鏈接是必要而必須的,因為一篇小小的篇幅卻是難以交代全面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
因為是[你必須知道的.NET]子系列,所以在此我只關注2010發布之后伴隨.NET 4.0的新特性,總結起來主要包括以下幾個方面:
- CLR (Common Language Runtime)
- DLR (Dynamic Language Runtime)
- C# and VB .NET
- Web and Networking
- Basic class libraries(BCL)
- Data
- Client
- Web
- Communications
所以,對what’s new的解讀,我將分為兩個大的部分來詮釋:
- Hot Focus,熱點解讀。對新特性中值得期待和關注的技術點進行一點整理,因為太多太多了,所以學會抽絲撥繭才是正確之道,在Hot Focus中我們首先對亮點進行一番認知。同時,Hot Focus內容體系也將是為了《深入.NET 4.0》子系列探索的方向和大綱。
- Full View,.NET 4.0全景圖。把概念涉及到各個新增的方面,由此對.NET4.0有個全面和基本的了解。
Hot Focus
在我看來,值得Hot Focus的主要包括以下幾個方面:
- CLR & DLR
- C#
- Web
- Cloud
- Data
- F#
下面進行一一分解。
CLR 4.0
是的,不用懷疑,CLR 4.0來了,從CLR 2.0一躍升級到CLR 4.0,我們對新建項目進行反編譯,即可從Manifest中獲取當前CLR的版本信息,例如:
可見沒有重量級的新成員,.NET產品組是不敢貿然為新生兒掛上如此響亮的封號。那么這個分量足夠的新家伙到底是誰呢?
答案是:
- DLR(Dynamic Language Runtime),動態語言運行時,提供了對動態語言在CLR級別的支持。
- Parallel Computing,并行計算,在多核時代,并行計算已經不可避免。新的平臺下,對于并行的支持也隨之而來,我們不需要在直接對線程進行管理,Parallel和Task類,當然還有PLINQ(Parallel LINQ)都將閃亮登場。
- GC,GC也有新變化,我們拭目以待。
- Convariance and Contravariance,逆變與協變,解決了泛型繼承的某些問題,算是一場遲來的完善。
- Interoperability,互操作將不依賴于原有的RIAs,新的CLR確保了類型安全操作。
- Lazy Initialization,在未來的日子,通過System.Lazy來為你的實例提供延遲初始化成為可能,這將意味著你的類型可以在實際需要的時候才進行實例化操作、分配內存空間,對性能的控制達到了新的高度。
- In-Process Side-by-Side Execution,In-Process Side-by-Side hosting解決了不同版本應用在CLR 4.0平臺下運行的問題,我們以后詳細討論。
除此之外,還包括:
- Security
- ETW Events
- Code Contracts
- Profiling
所有的概念,我們都將隨后品味。那是因為,所有的概念都是重量級的。
C# 4.0
C# 4.0主要引入了以下程序元素:
- Office Programmability
- Dynamic
- Covariance and Contravariance
- Type Equivalence
關于.NET 4.0和C# 4.0的若干概念,我在[[你必須知道的.NET]第三十回:.NET十年(下)]已經進行過介紹性的演示與探討,大家不妨一睹為快。
ASP .NET 4.0
What's New in ASP.NET and Web Development
對于Web開發而言, ASP .NET 4.0從3.5開始就已經提供了很多未集成的新東西,其中包括了類似于MVC在內的很多了不起的改變。所以,對于.NET 4.0而言,我們對于Web開發的貢獻,在于對過去的整理和再生,值得關注的內容主要包括:
- MVC,雖然VS2010 Beta1還沒有將MVC Framework整合在內,但是微軟承諾在Beta2中我們就可以看到新的MVC身影。
- Dynamic Data,對,早已領略了如何一分鐘之內開發一個增刪改查式的動態站點,在ASP .NET 4.0中實現數據驅動的Web開發更加Powerful了。
- Web Form,在ASP .NET 4.0傳統的Web Form開發被注入了更多的新特性,我們可以像MVC Application那樣無縫的使用ASP .NET Routing,對于數據源提供了Filtering支持,更多的View state控制,還有好多好多。。。
- EntityDataSource Control,支持基于Entity Framework的數據綁定控制。
還有很多,詳見What's New in ASP.NET and Web Development
Data
在數據方面主要還是ADO .NET Entity Framework的增強和Expression Tree的更多支持。EF主要體現在以下方面:
- Persistence-Ignorant Objects,這個特性是令人歡欣鼓舞的,在新的EF框架下,EF實體類和非EF實體類都應用EF提供的數據支持,這將意味著原有的數據模型也可以暢享EF了。
- Deferred Loading of Related Objects,如果你沒有體會過原來EF處理延遲加載使用的方式時:
if (!user.RoleReference.IsLoaded) { user.RoleReference.Load(); }
是很難理解,這一新特性為代碼優化給出了機會。
- Functions in LINQ to Entities Queries,一切皆LINQ的時代,這點也不奇怪。
- Customized Object Layer Code Generation,為EF數據設計器提供了自動生成代碼的可配置向導,更加人性化的選擇。
- 還包括:Complex Type Support、Naming Service、Improved Model Brower Funcationality。
另外,對于Expression Tree,控制了幾個新的類型支持,例如 LoopExpression 和TryExpression。
BCL
基礎類庫的更新,是每次.NET版本更新的重要內容,.NET 4.0中基礎類庫的新增內容,同樣驚為天人。在此我僅列舉幾個重要的更新,更多的內容參考MSDN。
- Collections
- BigInterger
- SortedSet
- 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
云計算將不可避免的到來,在.NET 4.0平臺下,Azure Service應用將眼花繚亂,但是可以肯定的是開發模式更加簡化,大量的問題需要時間在以后,我們到時再來掂量一二。
F#
一個對我全新而又有足夠吸引力的新語言,以后再說吧:-)
Full View
除了以上的重點內容,作為.NET 4.0大家族的一部分,還有很多很多令人興奮的新東西加入進來,令我們嘆息一切太多太快的同時,又帶來一絲絲驚喜和心動。廢話少說,對其進行一番簡單的整理:
- MEF
- WPF
- WCF 4.0
- WF 4.0
- Appliction Server(代號Dublin)
結論
.NET 4.0來了,在這個夏天。在蚊子和啤酒相伴的深夜,我將繼續[你必須知道的.NET] 系列的完善,將自己對于.NET 4.0新特性的探索形成[深入.NET 4.0]這樣一個子系列。同樣是一如既往的將角度把握在語言和平臺本質的探索,可能的角度上,最佳實踐式的應用和國外最新論調的共享同樣是這一新生力量關注的話題。好戲才剛開始,我們繼續在路上。
注:你必須知道的.NET, .NET 4.0子系列以VS2010 Beta1和.NET 4.0 Beta1為基礎,任何后續更新造成的可能不同,我將盡力完善。
參考文獻
- 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
更多精彩,盡在anytao.net
2009/05/22 | http://anytao.cnblogs.com/ | http://anytao.net/blog/post/2009/05/22/anytao-insidenet-31-net4newfullview.aspx
本文以“現狀”提供且沒有任何擔保,同時也沒有授予任何權利。 | This posting is provided "AS IS" with no warranties, and confers no rights.
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。