c#

位置:IT落伍者 >> c# >> 浏览文章

.NET程序设计之四书五经


发布日期:2019年06月07日
 
.NET程序设计之四书五经

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和它的竞争对手能够共同拥有美好的明天

上一篇:用VS.NET创建.NET可复用数据库组件

下一篇:.NET中Class,Abstract and Interfa选择[1]