可见Q?SPAN lang=EN-US>.NET之中最重要的技术首?Web Services。大多数贴着.NET标签的技术都在某U程度上支持 Web Services。然?NETl非仅仅?Web Services而已Q在.NET技术发布之初,微Y贴上.NET标签的还包括.NET框架Q包括通用语言q行时CLR?NET框架cd两大部䆾Q、Visual Studio.NET?NET My Services?NET企业服务器等?nbsp;
要想透彻理解.NETQ就必需透彻理解Web servicesQ同时还必须领会以上列D的每一U?NET技术的基本要素。很可惜Q我个h期待的Eric Newcomer的著?SPAN style="COLOR: navy">《Understanding Web Services: XML, WSDL, SOAP, and UDDI?/SPAN>目前在国内还不得见?/FONT>不过Q无Z打算学习Windows FormsQ还?/SPAN>ASP.NETQ含Web ServicesQ,抑或其他.NET技术,我认为首先应该徏立对.NETq_的通盘认识Q然后从CLR开始,自底向上Q深入学?/SPAN>.NET各专知识?/SPAN>
直到今天Q?SPAN lang=EN-US>David Chappell的?SPAN style="COLOR: navy">Understanding .NET: A Tutorial and Analysis》(?SPAN style="COLOR: navy">.NET大局观》,华中U技大学出版C?/SPAN>Q仍然是一本不错的.NET大局观读物?/FONT>David善于复杂的技术用单而清晰的方式表达出来。尤其值得一提的是,q本书对?/SPAN>Web Services的清Cl,在别的书里很隄到。然而,有感于一些读者的误解Q作者之一Q在此我想重提侯捷先生的一句话Q“读者基”从来都是一个说不清楚、难以量化的东西。不妨试M二,如果满意Q它适合你?/SPAN>
我时常光儡一家书店的.NET图书总量Q在很短的时间内p上了Java图书总量。林林L,内容遍及各个领域Q包括微软中间语aQ?/SPAN>Intermediate LanguageQ?/SPAN>ILQ?/SPAN>CLR?/SPAN>.NET框架cd?/SPAN>.NET语言?/SPAN>Visual Studio .NETQ以及像COM互操作、多U程q样的高U主题。限于篇q,本文重点推介三本好书Q不q,仅此三本已经늛?/SPAN>.NETq_的大半江山?/SPAN>
CLR、Windows Forms和ASP.NET
Jeffrey Richter, Applied Microsoft .NET Framework Programming
《Microsoft .NET框架E序设计Q英文版Q》,机械工业出版C?BR>《Microsoft .NET框架E序设计Q修订版Q》,清华大学出版C?nbsp;
.NET框架主要包含两大块:其一?/SPAN>CLRQ其二是cdQ?/SPAN>CLR则是.NET框架中其他Q何东西的基础。无论是要透彻理解?/SPAN>C#?/SPAN>Visual Basic.NETq样?/SPAN>.NET语言Q还是要全面把握ASP.NET?/SPAN>ADO.NET?/SPAN>Windows Formsq样?/SPAN>.NET框架cdQ你都必dCLR有一个很好的理解?/SPAN>Richter的这本书是CLR斚w的权威著作,它详l地讲解?/SPAN>CLR的构造和工作机理Q?/SPAN>.NET框架cdq本书的重炏V?/SPAN>
Richter?/SPAN>Win32E序设计领域的权威技术作Ӟ本书则奠定了他在.NET世界同样的地位。这本书对于E序集、装?/SPAN>/拆箱、事件和委托、异常机制以及垃圾收集等关键主题的讲解准而清晎ͼ同时q给Z许多宝贵的徏议和忠告。因此,管Visual Studio .NETq样的集成开发环境很Ҏ上手Q但Z有效地构建各c高效的应用E序Q我推荐你在动手~写代码之前Q认真阅M下这本书?/SPAN>
q本书对于完全的初学者有一定的隑ֺQ而对于有l验的程序员Q包?/SPAN>Windows DNAE序员和JavaE序员)来说Q这本书正是他们梦寐以求?/SPAN>.NETȝ?/SPAN>
带一提,q本书的中译本先后出q两个版本。“修订版”的译者李建忠先生是我的朋友。因我虚长徏忠几岁,在他军_接受此书修订邀请之前曾征求我的意见 ?很幸q??他没有理会我的徏议,各位读者朋友今天才得以看到q个倾注着译者心血的译本?/SPAN>
Charles Petzold, Programming Windows with C# (Core Reference)
《Programming Windows with C# (Core Reference)Q媄印版Q》,世界图书出版公司
《Microsoft C# Windows E序设计》(上、下册)Q北京大学出版社
q部著作的问世,证明Petzold 依然是Windows GUIE序设计领域的首席作家。本书专注于使用Windows Formscd和C#语言~写传统的Windows桌面应用E序。是的,本书没有涉及CLR、ADO.NET以及ASP.NET{“更重要的?NET技术。除了对C#语言光掠媄的简介外Q它没有雷池半步,全神贯注于Windows FormsE序设计Q深入解释了Windows Formscd的方斚w面?/FONT>
管Visual Studio .NET提供了大量的可视化工具和向导Q我们得以快速地设计用户界面qn用其生成的代码框Ӟ但Petzold 没有让Visual C# .NET自动生成代码Q本书所有代码都是手工编写而成 ?q也是Petzold一贯的风格?/FONT>不妨首先按照Petzold的方式,学会怎样~写你自q代码Q在理解了够多?/SPAN>Windows Forms知识的基上,再?/SPAN>IDE来羃短你的项目开发周期?/SPAN>
渊博的领域知识,高超的写作技巧,清晰的写作风|使得本书如此之厚Q而又如此z、清晰。阅L书,宛若?/SPAN>WindowsE序设计大师面对面地交流Q许多疑惑,豁然开朗?/SPAN>
?SPAN lang=EN-US>Windows FormsE序设计领域Q我q要特别提一下Chris Sells的著?SPAN style="COLOR: navy">《Windows Forms Programming in C#?/SPAN>Q原因倒不仅仅在于我是q本书中文版的领衔译者?nbsp;
我们知道Q?/SPAN>GUI应用E序开发方面的参考书往往会走向两个极端。一U是充斥着IDE截屏囄开发工具“快速入门”,我想各位读者对q种书不应该陌生。而上面提到的Petzold的著作则走向“另一个极端??它只字不?/SPAN>IDE提供的可视化的交互设计特性。我不否?/SPAN>Petzold的方式对于学习者来说行之有??我本人就?/SPAN>Petzold著作的受益者。然而,你知道,作ؓ一名开发实?/SPAN>.NET应用的程序员Q我们几乎L工作于像Visual C# .NETq样?/SPAN>IDE中,因此Q我们必能够游刃有余地q用IDE提供的各功能,同时q必L?/SPAN>IDE背后隐藏?/SPAN>Windows Forms及与之紧密相关的知识?/SPAN>Sells 的这本书能够让你心想事成。请耐心{候,好戏q在后头?/SPAN>
Jeff Prosise, Programming Microsoft .NET
《Microsoft .NETE序设计技术内q》,清华大学出版C?/SPAN>
和前面两本书一Pq也是一本“文不对题”的著作Q中文版的书名则更加谱?/SPAN>管q本书在内容上划分ؓ三大块,对于Windows Forms{技术主题也׃一定的幅Q但本书的出发点昄在于ASP.NET应用E序开发,它的大部分篇q要么是讲述Web应用开发和Web Services技术,要么是讲qC此两者密切相关的东西?/SPAN>
qƈ不奇怪。尽?/SPAN>.NETq_包含许多东西Q但首先同时也是最重要的是Q它的出发点是ؓ了提供一U更好的~写?/SPAN>InternetZ心的应用的方式(请不妨再回顾一?/SPAN>.NET的定义)。可以说Q?/SPAN>Prosise准确地把握、解释和C?/SPAN>.NETq_最主要的一大块内容?/SPAN>
鉴于传统?/SPAN>ASP技术是如此行Q?/SPAN>ASP.NET对开发h员的影响肯定要比 .NET框架cd的其他Q何部份都要大。客观地_?/SPAN>.NET世界Q?/SPAN>ASP.NET的地位要?/SPAN>Windows Forms的地位来得重要?/SPAN>
带一提,Prosise的著作一向是一U程序员的钟爱。在E序员面前,他的作品没有什么架子,你可以一边翻着他的书,一边写E序?/SPAN>
.NET语言
CLR?/SPAN>.NET语言定义了一套通用的语义,而不同的.NET语言则以不同的语法表达了q一语义。在.NETq_中,语言已经退居次席。和大多?/SPAN>.NETE序员一P我选择?/SPAN>.NET语言?/SPAN>C#?/SPAN>
如果你安装了VS.NET 2002或VS.NET 2003中文版,请到VS.NET的安装目录下搜烦一个名?SPAN style="COLOR: navy">“C# Language Specification.doc?/SPAN>的文档。其作者是Scott Wiltamuth ?Anders Hejlsberg。区别在于,VS.NET 2002携带的是英文版,而VS.NET 2003携带的则是中文版?/FONT>你也可以讉KMSDN主页Q文后给Z具体链接Q?/SPAN>。这儉K了有?/FONT>C# Language Specification?/SPAN>外,q有?/FONT>C# Programmer's Reference?/SPAN>q样的非常有用的参考手册?/SPAN>
此外Q如果你是一名完全的C#初学者,不妨留心一下Petzold?SPAN style="COLOR: navy">《Programming in the Key of C#: A Primer for Aspiring Programmers》?/SPAN>q是Petzold专ؓC#初学者编写的一本小书。我怿q本书早晚有一天会Z文版。本着Petzold的一贯水准,它不应该让你失望?/SPAN>
l语
微Y起初多玩意儿贴上?/SPAN>.NET标签Q尽当时其中一些既未?/SPAN>.NET框架Q也不直接支?/SPAN>.NET框架。这也导致了巨大的乱和hQ同时也?/SPAN>.NET招致了更多的非议和批评。我们应该还有印象,?/SPAN>.NET战略发布之后的很长时间内Q仍然有许多惑不解:到底什么是.NETQ或者说Q?/SPAN>.NET到底是什么?
今天Q多有点讽刺意味的是,在一些品真的支?/SPAN>.NET技术之际,它们反而丢掉了.NET标签。比方说Q内|了.NET框架的?/SPAN>Windows .NET Server”在发布前夕被重命名?/SPAN>Windows Server 2003?/SPAN>.NET企业服务器亦在陆l支?/SPAN>.NET框架、成真h实的?/SPAN>.NET企业服务器”的同时Q而被撕掉.NET标签。而所谓的?/SPAN>Office .NET”终I只是一个谣传,?/SPAN>Office 2003的确提供了对.NET实实在在的支持。比方说Q?/SPAN>Word 2003 文档和模板以?/SPAN> Excel 2003 工作K可以q行所引用?/SPAN> .NET E序集中的代码,而这?/SPAN> .NET E序集代码的安全性则是由.NET框架而非Word?/SPAN>Excelq行理的?/SPAN>
但是Q有两样东西?/SPAN>.NET标签贴得一直非常牢靠:一?/SPAN>.NET框架Q二?/SPAN>Visual Studio .NET。我们可以感觉到Q目?/SPAN>.NET标签基本上局限于使用在“技术范围”之内,q与其说是微软的妥协退步,倒不如说是一U理智的q步。“高U技”企业向来有拿技术名词糊弄外行的恶习Q这也是市场营销人员的惯用伎俩(比如新模范马路上的手机广告可以是“内|?/SPAN>Java技术……”)。也许微软意识到了诚实一点于Z己都有好处?/SPAN>
.NET标签的羃水ƈ不意味着微Y.NET技术战略发生了Ҏ性的动摇。尽像.NET My Servicesq样的技术没有像微Y预想的那h功,?/SPAN>.NETq_的核心技术却一直稳步向前发展,q业已取得无可辩驳的成功。回头看看一两年前包围着.NET的许多诬蔑和毁谤Q如今早已不攻自_事实再次证明微Y箋写不败的话。无论如何,和您一P我希?/SPAN>.NET和它的竞争对手能够共同拥有美好的明天?/SPAN>