程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> [你必須知道的.NET]第三十一回,深入.NET 4.0之,從“新”展望

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

編輯:關於.NET

總體來說,這是一篇介紹性的文章,不會涉及過多技術細節和研究過程。但是,作為拉開序幕的第一頁,本文以提綱挈領的方式展開對.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為基礎,任何後續更新造成的可能不同,我將盡力完善。

出處:http://anytao.cnblogs.com/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved