一刷 8000 冊 (2003/08/xx)  

《.NET 大局觀》

Understanding .NET
A Tutorial and Analysis
簡體中文版

侯捷 / 榮耀 譯

CSDN網站票選 2003十六大最愛圖書

understanding-dot-net-c.jpg (24370 bytes)

簡體中文版 勘誤

 


《.NET 大局觀》侯捷譯序

348+ pages


侯捷 譯序

我把這本中譯書命名為《.NET大局觀》。雖然這個名稱並沒有與原書名《Understanding .NET》直接對應,卻清楚說明了書籍的特性和定位。

是的,.NET是一個如此龐大的架構,上至商務模型、軟件技術、類庫、下至編程語言、型別系統(types system),乃至於更底層的運行系統、虛擬機…全包攬了。要了解這麼龐大的機制和技術,非一蹴可成。但許多不同領域的從業人員基於種種因素,需要認識 .NET、理解 .NET,這時候他們需要對巨大的 .NET不論就其上層應用或其底層技術先有一個通盤認識。這時候,他們需要一本「大局觀」。

我也是「亟欲通盤認識.NET」的廣大群眾中的一個。我的時間緊湊,我的專長在軟件技術和編程技術;我不但希望短時間內抓住 .NET的技術全貌,也希望短時間抓住 .NET 的應用全貌。自從知道 David Chappell 寫了這部作品,我就放心了。我知道我找得到我要的東西。Chappell曾經寫過同類型書籍,包括《Understanding ActiveX and OLE》和《Understanding Microsoft Windows 2000 Distributed Services》,都有很好的評價。就我的觀點,Chappell是書寫這種大局觀、全覽式、圖文並茂、觀點紛呈的書籍的第一人選。雖然,他的焦點只在微軟相關領域,但是持平地說,那已是涵蓋整個軟件領域的大半地圖了。此外,我也必須提醒你,Chappell的眾多觀點對微軟帶有明顯的善意J

關於這本書,我的經驗是,即使囫圇吞棗,以三兩天時間瀏覽一遍,也能夠對 .NET 全貌獲得一個不錯的梗概。閱讀它並非全無門檻,我畢竟在Windows環境下以技術謀生多年,對相關各領域都有或多或少或精或淺的認識。如果你對本書所涉一切都很陌生,可能你無法接受這本書。

寫這種書很困難,需要既廣泛又深入的知識。讀這種書很容易,只要具備一些常識和(或)概念。我們不會因為這種書很難寫而買它,我們因為這種書很容易讀所以掏錢!容易讀?呃,「讀者基礎」從來都是一個說不清楚、難以量化的東西。不妨試讀一二,如果滿意,它就適合你。當然,你也可以看看Chappell在本書前言貢獻的一段「本書為誰而寫」。

這個譯本,我對非常多的術語和專有名詞提供了中英並陳的表現方式,頻率之高不厭其煩。我也保留了許多全英文術語和專有名詞。這麼做有多重用意,一是為了讓讀者熟悉國際通用的術語和名稱 — 你早晚要接觸它;二是為了術語突出性 — 夾雜在中文之間的一些簡短的英文術語,可讀性很高,比全中文化好看得多;三是為了避免混淆 —  property attribute 不論譯為什麼都容易相混淆,乾脆不譯,又能讓讀者將來面對英文讀物或文檔時沒有滯礙。然而,尺度的拿捏和取捨向來是個大難題,在這個題目上,我的取捨標準也因書籍的層次和定位而不同。本書適宜保留許多英文術語和名詞,我這麼認為!對於不習慣以及不願習慣「帶有英文術之中文技術書」的讀者,這本書的處理方式恐怕不適合你。

本書譯稿由我和榮耀先生共同完成。榮耀負責初譯,我負責其後工作。榮耀技術領域寬廣,企業級項目經驗尤其豐富,非我能及。我很高興和他共同完成這部譯作。本書由我定稿,再由榮耀協助術語之覆閱修整。

侯捷2003/02/16
jjhou@jjhou.com
http://www.jjhou.com
(繁體
http://jjhou.csdn.net(簡體

 

目錄

侯捷譯序
榮耀譯序
目錄
前言
1 .NET概觀
    定義 .NET
    Web Services(網絡服務)
    .NET Framework(框架)
        CLR(Common Language Runtime,通用語言運行層)
        奠基於CLR之上的語言
        .NET Framework Class Library(Framework類庫)
        .NET Compact Framework(精實版Framework)
    .NET My Services(個人服務)
    .NET Enterprise Servers(企業服務器)
    .NET的一個實例場景
    結語
2 Web Services
    描述Web Services
    應用Web Services
        訪問Internet應用程序
        B2B整合
        A2A整合
        Web Services 的一個實例場景
    Web Services技術
        描述信息:XML
        定義Web Services:WSDL
        訪問Web Services:SOAP
        搜尋Web Services:UDDI
    Web Services的未來方向
    結語
3 共通語言運行層(CLR)
    開發受控代碼:通用型別系統(CTS)
        CTL(通用型別系統)簡介
        進一步探討CTS Types
        CLS:通用語言規範
    編譯受控代碼(Compiling Managed Code)
        微軟中介語言(Microsoft Intermediate Language,MSIL)
        Metadata(元數據)
    組織受控代碼(Organizing Managed Code):裝配件(Assemblies)
        裝配件的Metadata:清單(Manifests)
        裝配件的分類
    運行受控代碼(Executing Managed Code)
        裝載裝配件(Loading Assemblies)
        編譯MSIL
        使裝配件更安全(Securing Assemblies)
        垃圾回收(Garbage Collection)
        應用域(Application Domains)
    結語
4 .NET 語言
    C#
        C# 程序樣例
        C# 提供的types
        C# 的控制結構
        其他的C# 特性
    Visual Basic.NET
        VB.NET 程序樣例
        VB.NET 提供的types
        VB.NET 的控制結構
        其他的VB.NET特性
    帶有受控擴充件(Managed Extensions)的C++
        Managed C++ 程序樣例
        Managed C++ 提供的types
        其他的Managed C++ 特性
    結語
5 .NET Framework類庫(Class Library)
    .NET Framework類庫概觀
        System名字空間(namespace)
        System的次級名字空間(sub-namepsaces)概觀
    輸入和輸出:System.IO
    序列化(Serialization):System.Runtime.Serialization
    支持XML:System.Xml
        XML技術家族
        System.Xml提供了什麼
    反射:System.Reflection
    .NET遠程系統:System.Runtime.Remoting
        遠程處理過程(Remoting Process)概覽
        將信息傳遞給遠程對象(Remote Objects)
        選擇一個Channel(信道)
        遠程對象的創建和銷毀(Creating and Destroying)
    企業服務:System.EnterpriseServices
    互操作性(Interoperability):System.Runtime.InteropServices
        訪問COM對象
        訪問Non-COM DLLs
    Windows GUIs:System.Windows.Forms
        使用Windows Forms(表單)開發你的GUIs程序
        Windows Forms的控件(Controls)
    結語
6 訪問數據:ADO.NET
    .NET 數據供應器
    直接訪問數據
    以DataSets訪問數據
        創建和使用DataSets
        訪問及修改DataSet的內容
        使用DataSets和「以XML定義的數據」
    結語
7 開發Web相關應用:ASP.NET
    瀏覽器應用程序:System.Web.UI
        瀏覽器相關應用程序的工作機理
        Web控件(Web Controls)
        將用戶界面(UI)從代碼中分離出來
        其他主題
    Web Services的應用:System.Web.Services
        Web Services服務器
        Web Services客戶端
        Web Services應用程序的選項
        微軟對Web Services應用程序的特定支持
    結語
8 .NET My Services
    定義 .NET My Services
        應用 .NET My Services
        確保隱私
        .NET My Services商務模型:軟件業就是服務業
    描繪 .NET My Services
        認證服務(Authentication Service): Passport
        XML-Based Services
    .NET My Services 的一個實例場景
結語
關於作者
索引

 

前言

編寫優質軟件並無不二法門,亦不存在十全十美的開發平台。然而創造平台的人們仍然為這個遙不可及的理想奮鬥,持續地為我們帶來新的軟件建構技術。除了極少數例外,每一次變革都比它所取代的東西更好。無一例外的是,每一次創新都使我們腦袋裡的知識多少有些過時。是的,和軟件互動的根本之道就在於與時俱進、隨機應變。

.NET是迄今微軟(也可能是任何廠商)向技術客戶展示的最大一套新技術。它所打造的巨大革新幾乎提昇了開發人員生活的每一方面,但此同時,它也帶來了大量需要理解的新技術。本書的目標就是幫助你遷移到這個巨大新世界中。

本書為誰而寫

.NET規模龐大。肯定會有許多書籍提供此一巨大的「技術水晶」的每一刻面的詳盡分析,也會有大量書籍提供核心的、易於動手實踐的信息。本書不屬此類。我堅信從整體上理解 .NET將是深入鑽研其任何面向之專門技術細節的基本要素。因此,我的目標是提供一個 .NET主體技術的廣泛概觀。由於這一軟件族系及其提供的服務的最偉大力量之一就是它們可以彼此開拓,因此本書也試圖展示這些技術如何結合在一起。

如果你正在尋找關於 .NET整體大描繪的介紹和觀點,本書正是為你而寫。無論你是一位剛開始接觸 .NET的開發人員,或是一位需要對這些技術作出決策的技術管理者,亦或是第一次瞧見這些觀念的學生,本書都將是有益的指南。這兒有足夠的、可徹底滿足許多人的信息細節。上述以外的其他人可以將本書當作了解更多細節知識的「墊腳石」。無論如何,我希望這本書的組織方式和涵蓋內容,都可以使你在理解並掌握這一巨量技術時省些力氣。

事實和觀點

要掌握一種新技術,就非得弄清楚其基本原理不可。它的主要構成是什麼?它們如何運作?如何彼此結合?但如果要真正透徹理解一種技術,光是這些遠遠不夠。你不但要弄清楚事情如何運作,還要明白它們為何至關重要,它們與過去的技術相比又如何,下一步可能會發生些什麼。

本書提供了所有這一切。正文中我努力保持嚴肅的教學形式,完全集中於描述 .NET是什麼。在「分析文塊」裡頭,我會從不同方面給出一些關於這種技術的概括性看法。每一個「分析文塊」裡頭的分析都表達了我對於「為什麼事情會是這個樣子,將來又會如何」的觀點。透過這種將客觀事實和主觀看法分開描述的方式,我希望能夠讓你比較輕易地區分兩者;敘述事實的同時我將表達個人觀點,我希望本書因此得以更有趣味、更富啟迪性。

致謝

如果你曾經寫過書籍,你就會明白你從別人那兒得到了多少幫助。如果你沒有寫書經歷,那好,相信我,沒有以下這些人的協助,本書將失色不少。我想要向以下人士致以由衷的謝意:Bob Beauchemin, Keith Brown, Cori Day, Ted Demopoulos, Bill Estrem, Jeannine Gailey, Kit George, Greg Hack, Rob Howard, Maxim Loukianov, Juval Löwy, Peter McKiernan, Yahya H. Mirza, John D. Mitchell, Christophe Nassare, Eric Newcomer, David Sceppa, Aaron Skonnard Mike Woodring。他(她)們閱讀了本書草稿,給我寶貴的意見,並且時常糾正書中存在的這樣或那樣的問題。我尤其要感謝Richard Monson-Haefel,他是一位卓爾不群的技術專家和作家,他閱讀了每一章,並做出許多有見地的評論。

我所參與的許多 .NET研討會的眾多出席者也為本書品質作出了不小貢獻。透過我對 .NET技術的講解,他們幫我判斷哪一種途徑對於理解 .NET最富成效;透過向我發出的深刻問題,他們激發了我許多靈感,使我寫出散佈於本書各處的許多「分析文塊」。

Addison-Wesley的許多人也值得我深表謝意。如果沒有Kristin WeinbergerIndependent Technology Guide系列書籍和本書都不會存在;如果沒有Stephane Thomas,我可能永遠都無法完成這個項目;如果沒有Cindy Kogut,我的文字將明顯失色;如果沒有Katie Noyes,就不會有如此漂亮的封面。

我還要感謝我的好友JimJudy Moffitt,在我最需要的時候,他們親手送來了成包的巧克力夾心餅乾。最後,我要把這一切都歸功於Diana Catignani 沒有她,我的生命貧瘠無比。

David Chappell
www.davidchappell.com
2001.12

 

 


windows programming 三劍客(C# & .Net 版本):

applied-microsoft-dot-net-framework-programming.jpg (33252 bytes)      microsoft-dot-net.jpg (30875 bytes)     programming-windows-with-c-sharp.jpg (30717 bytes)

●Microsoft .NET (Core Reference)
by Jeff Prosise

This item will be published in May 2002.
Paperback - 800 pages 1 edition (May 2002)
Microsoft Press; ISBN: 0735613761

●Applied Microsoft .NET Framework Programming
by Jeffrey Richter

This item will be published on January 23, 2002.
Paperback - 500 pages 1st edition (January 23, 2002)
Microsoft Press; ISBN: 0735614229

●Programming Windows with C# (Core Reference)
by Charles Petzold

Hardcover - 1200 pages 1 edition (December 19, 2001)
Microsoft Press; ISBN: 0735613702