[你必須知道的.NET]第三十一回,深入.NET 4.0之,從“新”展望

來源:互聯網
上載者:User
文章目錄
  • 參考文獻

anytao.net | 《你必須知道的.NET》網站 | Anytao技術部落格 

發布日期:2009.05.22 作者:Anytao
2009 Anytao.com ,Anytao原創作品,轉貼請註明作者和出處。

/// <summary>/// 本文開始,將以《.NET 4.0深入》為主線,開始一段體驗.NET 4.0的激動旅程。/// </summary>

總體來說,這是一篇介紹性的文章,不會涉及過多技術細節和研究過程。但是,作為拉開序幕的第一頁,本文以提綱挈領的方式展開對.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<T>來為你的執行個體提供延遲初始化成為可能,這將意味著你的類型可以在實際需要的時候才進行執行個體化操作、分配記憶體空間,對效能的控制達到了新的高度。
  • 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

What's New in ADO.NET

在資料方面主要還是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<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

雲端運算將不可避免的到來,在.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

 

anytao | 2009 Anytao.com

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.

本文著作權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.