Microsoft® NET 是 Microsoft XML Web services 平台XML Web services 允許應用程序通過 Internet 進行通訊和共享數據而不管所采用的是哪種操作系統設備或編程語言Microsoft NET 平台提供創建 XML Web services 並將這些服務集成在一起之所需對個人用戶的好處是無縫的吸引人的體驗 — 微軟公司
可見NET之中最重要的技術首推 Web Services大多數貼著NET標簽的技術都在某種程度上支持 Web Services然而NET絕非僅僅是 Web Services而已在NET技術發布之初微軟貼上NET標簽的還包括NET框架(包括通用語言運行時CLR和NET框架類庫兩大部份)Visual StudioNETNET My ServicesNET企業服務器等
要想透徹理解NET就必需透徹理解Web services同時還必須領會以上列舉的每一種NET技術的基本要素很可惜我個人期待的Eric Newcomer的著作《Understanding Web Services: XML WSDL SOAP and UDDI》目前在國內還不得見不過無論你打算學習Windows Forms還是ASPNET(含Web Services)抑或其他NET技術我認為首先應該建立對NET平台的通盤認識然後從CLR開始自底向上深入學習NET各專項知識
直到今天David Chappell的《Understanding NET: A Tutorial and Analysis》(《NET大局觀》華中科技大學出版社)仍然是一本不錯的NET大局觀讀物David善於將復雜的技術用簡單而清晰的方式表達出來尤其值得一提的是這本書對於Web Services的清晰介紹在別的書裡很難看到然而有感於一些讀者的誤解作為譯者之一在此我想重提侯捷先生的一句話讀者基礎從來都是一個說不清楚難以量化的東西不妨試讀一二如果滿意它就適合你
我時常光顧的一家書店的NET圖書總量在很短的時間內就趕上了Java圖書總量林林總總內容遍及各個領域包括微軟中間語言(Intermediate LanguageIL)CLRNET框架類庫NET語言Visual Studio NET以及像COM互操作多線程這樣的高級主題限於篇幅本文重點推介三本好書不過僅此三本已經涵蓋了NET平台的大半江山
CLRWindows Forms和ASPNET
★ Jeffrey Richter Applied Microsoft NET Framework Programming
《Microsoft NET框架程序設計(英文版)》機械工業出版社
《Microsoft NET框架程序設計(修訂版)》清華大學出版社
NET框架主要包含兩大塊其一是CLR其二是類庫而CLR則是NET框架中其他任何東西的基礎無論是要透徹理解像C#Visual BasicNET這樣的NET語言還是要全面把握ASPNETADONET和Windows Forms這樣的NET框架類庫你都必須對CLR有一個很好的理解Richter的這本書就是CLR方面的權威著作它詳細地講解了CLR的構造和工作機理而NET框架類庫並非本書的重點
Richter是Win程序設計領域的權威技術作家本書則奠定了他在NET世界同樣的地位這本書對於程序集裝箱/拆箱事件和委托異常機制以及垃圾收集等關鍵主題的講解准確而清晰同時還給出了許多寶貴的建議和忠告因此盡管Visual Studio NET這樣的集成開發環境很容易上手但為了有效地構建各類高效的應用程序我推薦你在動手編寫代碼之前認真閱讀一下這本書
這本書對於完全的初學者有一定的難度而對於有經驗的程序員(包括Windows DNA程序員和Java程序員)來說這本書正是他們夢寐以求的NET讀物
順帶一提這本書的中譯本先後出過兩個版本修訂版的譯者李建忠先生是我的朋友因我虛長建忠幾歲在他決定接受此書修訂邀請之前曾征求我的意見 — 很幸運 — 他沒有理會我的建議各位讀者朋友今天才得以看到這個傾注著譯者心血的譯本
★ Charles Petzold Programming Windows with C# (Core Reference)
《Programming Windows with C# (Core Reference)(影印版)》世界圖書出版公司
《Microsoft C# Windows 程序設計》(上下冊)北京大學出版社
這部著作的問世證明Petzold 依然是Windows GUI程序設計領域的首席作家本書專注於使用Windows Forms類庫和C#語言編寫傳統的Windows桌面應用程序是的本書沒有涉及CLRADONET以及ASPNET等更重要的NET技術除了對C#語言浮光掠影的簡介外它沒有越雷池半步全神貫注於Windows Forms程序設計深入解釋了Windows Forms類庫的方方面面
盡管Visual Studio NET提供了大量的可視化工具和向導使我們得以快速地設計用戶界面並享用其生成的代碼框架但Petzold 沒有讓Visual C# NET自動生成代碼本書所有代碼都是手工編寫而成 — 這也是Petzold一貫的風格不妨首先按照Petzold的方式學會怎樣編寫你自己的代碼在理解了足夠多的Windows Forms知識的基礎上再使用IDE來縮短你的項目開發周期
淵博的領域知識高超的寫作技巧清晰的寫作風格使得本書如此之厚而又如此簡潔清晰閱讀本書宛若和Windows程序設計大師面對面地交流許多疑惑豁然開朗
在Windows Forms程序設計領域我還要特別提一下Chris Sells的著作《Windows Forms Programming in C#》原因倒不僅僅在於我是這本書中文版的領銜譯者
我們知道GUI應用程序開發方面的參考書往往會走向兩個極端一種是充斥著IDE截屏圖的開發工具快速入門我想各位讀者對這種書不應該陌生而上面提到的Petzold的著作則走向另一個極端 — 它只字不提IDE提供的可視化的交互設計特性我不否認Petzold的方式對於學習者來說行之有效 — 我本人就是Petzold著作的受益者然而你知道作為一名開發實際NET應用的程序員我們幾乎總是工作於像Visual C# NET這樣的IDE中因此我們必須能夠游刃有余地運用IDE提供的各項功能同時還必須洞悉IDE背後隱藏的Windows Forms及與之緊密相關的知識Sells 的這本書能夠讓你心想事成請耐心等候好戲還在後頭
★ Jeff Prosise Programming Microsoft NET
《Microsoft NET程序設計技術內幕》清華大學出版社
和前面兩本書一樣這也是一本文不對題的著作中文版的書名則更加離譜盡管這本書在內容上劃分為三大塊對於Windows Forms等技術主題也花了一定的篇幅但本書的出發點顯然在於ASPNET應用程序開發它的大部分篇幅要麼是講述Web應用開發和Web Services技術要麼是講述與此兩者密切相關的東西
這並不奇怪盡管NET平台包含許多東西但首先同時也是最重要的是它的出發點是為了提供一種更好的編寫以Internet為中心的應用的方式(請不妨再回顧一下NET的定義)可以說Prosise准確地把握解釋和示范了NET平台最主要的一大塊內容
鑒於傳統的ASP技術是如此流行ASPNET對開發人員的影響肯定要比 NET框架類庫的其他任何部份都要大客觀地說在NET世界ASPNET的地位要比Windows Forms的地位來得重要
順帶一提Prosise的著作一向是一線程序員的鐘愛在程序員面前他的作品沒有什麼架子你可以一邊翻著他的書一邊寫程序
NET語言
CLR為NET語言定義了一套通用的語義而不同的NET語言則以不同的語法表達了這一語義在NET平台中語言已經退居次席和大多數NET程序員一樣我選擇的NET語言是C#
如果你安裝了VSNET 或VSNET 中文版請到VSNET的安裝目錄下搜索一個名為C# Language Specificationdoc的文檔其作者是Scott Wiltamuth 和 Anders Hejlsberg區別在於VSNET 攜帶的是英文版而VSNET 攜帶的則是中文版你也可以訪問MSDN主頁(文後給出了具體鏈接)這兒除了有C# Language Specification外還有C# Programmers Reference這樣的非常有用的參考手冊
此外如果你是一名完全的C#初學者不妨留心一下Petzold的《Programming in the Key of C#: A Primer for Aspiring Programmers》這是Petzold專為C#初學者編寫的一本小書我相信這本書早晚有一天會出中文版本著Petzold的一貫水准它不應該讓你失望
結語
微軟起初為許多玩意兒貼上了NET標簽盡管當時其中一些既未使用NET框架也不直接支持NET框架這也導致了巨大的混亂和混淆同時也為NET招致了更多的非議和批評我們應該還有印象在NET戰略發布之後的很長時間內仍然有許多人迷惑不解到底什麼是NET?或者說NET到底是什麼?
今天多少有點諷刺意味的是就在一些產品真的支持NET技術之際它們反而丟掉了NET標簽比方說內置了NET框架的Windows NET Server在發布前夕被重命名為Windows Server NET企業服務器亦在陸續支持NET框架成為貨真價實的NET企業服務器的同時而被撕掉NET標簽而所謂的Office NET終究只是一個謠傳但Office 的確提供了對NET實實在在的支持比方說Word 文檔和模板以及 Excel 工作簿都可以運行所引用的 NET 程序集中的代碼而這些 NET 程序集代碼的安全性則是由NET框架而非Word或Excel進行管理的
但是有兩樣東西的NET標簽貼得一直非常牢靠一是NET框架二是Visual Studio NET我們可以感覺到目前NET標簽基本上局限於使用在技術范圍之內這與其說是微軟的妥協退步倒不如說是一種理智的進步高科技企業向來有拿技術名詞糊弄外行的惡習這也是市場營銷人員的慣用伎倆(比如新模范馬路上的手機廣告可以是內置Java技術……)也許微軟意識到了誠實一點於人於己都有好處
NET標簽的縮水並不意味著微軟NET技術戰略發生了根本性的動搖盡管像NET My Services這樣的技術沒有像微軟預想的那樣成功但NET平台的核心技術卻一直穩步向前發展並業已取得無可辯駁的成功回頭看看一兩年前包圍著NET的許多誣蔑和毀謗如今早已不攻自破事實再次證明微軟將續寫不敗的神話無論如何和您一樣我希望NET和它的競爭對手能夠共同擁有美好的明天
From:http://tw.wingwit.com/Article/program/net/201311/15579.html