一刷 8000 册 (2003/08/xx)  

《.NET 大局观》

Understanding .NET
A Tutorial and Analysis
简体中文版

侯捷 / 荣耀 译

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