當前位置:編程學習大全網 - 源碼下載 - CLR via C#開發的前言

CLR via C#開發的前言

1999年10月,Microsoft的壹些人首次向我展示了Microsoft NET Framework、公***語言運行時(CLR)和C#編程語言。看到所有這壹切時,我震驚了,我知道我寫軟件的方式要發生非常大的變化了。他們請我為團隊做壹些顧問工作,我當即就同意了。剛開始,我以為 NET Framework是Win32 API和COM上的壹個抽象層。然而,隨著我投入越來越多的時間研究它,我意識到它是壹個更宏偉的項目。在某種程度上,它是它自己的操作系統。它有自己的內存管理器,自己的安全系統,自己的文件加載器,自己的錯誤處理機制,自己的應用程序隔離邊界(AppDomains)、自己的線程處理模型等。本書解釋了所有這些主題,幫助妳為這個平臺高效地設計和實現軟件應用程序及組件。

我花費了大量時間專註於線程處理、並發執行、並行結構、同步等方面的研究。如今,隨著多核計算機越來越普遍,這些主題的重要性日益凸顯。幾年前,我決定專門寫壹本講線程處理的書。然而,事情壹件接著壹件,我的想法壹直沒有實現。當我有時間修訂本書的時候,我決定將所有線程處理的內容集成到其中。所以,本書除了全面討論 NET Framework的CLR和C#編程語言,還嵌入了我的關於線程處理的書(第Ⅴ部分“線程處理”)。

我是2009年10月開始寫作本書的,距離第壹次接觸 NET Framework和C#正好十年。十幾年來,我作為Microsoft的壹名顧問,開發過各種各樣的應用程序,對 NET Framework本身也貢獻良多。作為我自己的公司的壹名合夥人,我還要為大量客戶工作,幫他們設計軟件、調試軟件、優化軟件和解決他們使用 NET Framework時遇到的問題。正是因為有了這些資歷,所以我才知道人們在使用 NET Framework進行高效率編程時,可能會在什麽地方遇到麻煩。貫穿本書的所有主題,妳都會看到我的這些經驗之談。

本書面向的讀者

本書旨在解釋如何為 NET Framework開發應用程序和可重用的類。具體地說,我要解釋CLR的工作原理及其提供的功能。另外,我還要討論Framework Class Library(FCL)的各個部分。沒有壹本書能完整地解釋FCL——其中包含數以千計的類型,而且這個數字正在以驚人的速度增長。所以,我準備將重點放在每個開發人員都需要註意的核心類型上面。另外,雖然本書不專門講Windows窗體、Windows Presentation Foundation(WPF)、Silverlight、XML Web服務、Web窗體等,但本書描述的技術適用於所有這些應用程序類型。

本書是圍繞Microsoft Visual Studio 2010, NET Framework 4 0和C# 4 0展開的。由於Microsoft在發布這些技術的新版本時,會試圖保持很大程度的向後兼容性,所以本書描述的許多內容也適用於以前的版本。所有示例代碼都用C#編程語言來演示各種功能的行為。但是,由於CLR可由許多編程語言使用,所以本書內容還是很適合非C#程序員的。

Microsoft提供了CLR的幾個版本。有桌面/服務器版本,在Microsoft Windows的32位(x86)和64位(x64/IA64 )版本上運行。還有Silverlight版本,它是用和 NET Framework CLR的桌面/服務器版壹樣的源代碼庫來生成的。所以,本書描述的壹切也適用於生成Silverlight應用程序,只是Silverlight加載程序集的方式有壹些區別。 NET Framework有壹個“簡化”版本,稱為 NET Compact Framework,它適合Windows手機和運行Windows CE操作系統的其他設備。本書許多內容也適合用於為 NET Compact Framework開發應用程序,但該平臺不是本書的重點。

2001年12月13日,ECMA International接納了C#編程語言、壹部分CLR以及壹部分FCL作為標準。因而形成的標準文檔允許其他組織為其他CPU架構和其他操作系統構建這些技術的ECMA相容版本。事實上,基於ECMA規範,Novell已開發出了Moonlight,它是Silverlight 的壹個開源的實現,主要用於Linux和其他基於UNIX/X11的操作系統。本書相當多的內容是圍繞這些標準展開的;所以,如果想實現符合ECMA標準的“運行時”(runtime)和庫,本書也是相當有用的。

獻辭

獻給Kristin 千言萬語,難以描述我們在壹起的日子。我愛我們的家,珍惜我們在壹起的所有日子。每天都因為對妳的愛而感到充實。

獻給6歲的Aidan和2歲的Grant 妳們兩個是我靈感的源泉,是妳們教會我遊戲和找樂子。看著妳們兩個人的成長真是令我驕傲和快樂。能和妳們***同生活,我感到非常幸運。我對妳們的愛和感謝,遠遠超乎妳們的想象!

致謝

沒有許多人的幫助和技術援助,我是不可能寫好這本書的。尤其要感謝我的家人。為了寫壹本書,所投入的時間和精力是無法衡量的。我只知道,沒有我的妻子Kristin和兩個兒子Aidan和Grant的支持,根本不可能有這本書的面世。多少次,我們想花些時間壹家人小聚,都因為本書而放棄。現在,本書總算告壹段落,我們終於有時間做大家愛做的事情了。

針對本書的修訂,我真的得到了壹些“高人”的幫助。Christophe Nasarre參與了我的幾本書的出版,在審閱本書並確保我能以最恰當的方式來表達的過程中,表現出了非凡的才能。他對本書的質量有著至關重要的影響。和往常壹樣,我和Microsoft Press的教育出版團隊進行了令人愉快的合作。特別感謝Ben Ryan,Valerie Woolley和Devon Musgrave。另外,感謝Jean Findley和Sue McClung的編輯和制作支持。

  • 上一篇:吃下黑莓90項手機專利,華為劍指鴻蒙?
  • 下一篇:第壹次怎麽選股?
  • copyright 2024編程學習大全網