.NET程序设计之四书五经
Posted: December 25, 2006 at 9:01 pm | Tags: class, java, web, windows, 平台, 开发, 技术, 类(以下排名不分先后)
(一) C#程序设计
由获奖作家Charles Petzold撰写的这本书对C#语言做了深入浅出、循序渐进的论述。不论是第一次接触程序设计还是第一次接触C#语言,你都会迅速掌握使用C#语言开发应用程序的技巧。
C#语言是一种面向对象的程序设计语言,特别适合为Microsoft Windows和因特网开发各种解决方案。由获奖作家Charles Petzold撰写的这本书对C#语言做了深入浅出、循序渐进的讲述。读者不论是第一次接触程序设计还是第一次接触C#语言,都会通过本书迅速掌握使用C#语言开发应用程序的技巧。
内容简介:
●最简单的变量 整数和文本字符串
●最基本的用户输入和输出
●十进制数和浮点数
●帮助程序做出判断与决定的布尔类型
●选择与重复 条件语句,循环语句、枚举集合
●防止程序崩溃 结构化异常处理机制
●用字段、方法和属性构建一个类
●充实和扩展类的功能 继承、操作符和虚方法
●把信息保存到数据文件里
●CH程序设计实战 用C#程序演奏C#“交响乐”
(二) Microsoft.NET程序设计技术内幕
本书是《微软.NET程序员系列》丛书之一,主要讲述Microsoft.NET编程技术,可帮助你快速而深入地理解.NET框架的主要编程模型。全书分为三大部分,第I部分“基本概念”,主要介绍学习本书需要了解的一些基础知识,包括Microsoft.NET框架方面的知识。第II部分的所有内容都是关于ASP.NET的,包括如何用ASP.NET构建Web应用程序和Web服务。第III部分“前沿技术”,分别介绍ADO.NET、XML、多线程和远程处理技术。本书用简明的语言解释了复杂的概念,书中还包括75个精心设计的完整的示例程序,对于理解.NET的编程模型和解决实际的开发问题很有帮助。
本书是开发.NET Web应用程序的开发人员必读的经典著作。
(三) C# Windows Forms程序设计
本书是打开WindowsForms编程之门的金钥匙,它所采用的编程语言是当前最为流行、最具潜力的C#。本书内容详尽充实,共分为3个部分:初识WindowsForms、WindowsForms基础和高级WindowsForms。通过本书的学习,读者能够迅速掌握通过.NETFramework开发WindowsForms程序的所有相关技术。
无论对开发桌面应用程序的Windows程序员,还是正在学习WindowsForms知识的开发人员,或者是毫无Windows开发经验的初学者,相信本书都是最佳的选择。
(四) Microsoft .NET框架程序设计(修订版)
这是一本任何一个想了解.NET、学习.NET的读者都不可不读的开山之作。它全面剖析了.NET框架机理,深度阐述了.NET平台思想。它在亚马逊网站雄踞编程类图书销量排行榜榜首达14个月之久。让我们听听下面的声音:
‘Jeffrey在.NET框架上所做的大量的工作,在这部内容详实的优秀著作中得到了充分的体现。’
–Eric Rudder 微软公司,开发者与平台推广部 ,高级副总裁
‘Jeffrey和通用语言运行时项目组的日夜协作使得这本书成为解释CLR内部机理方面最好的教本。’
–Dennis Angeline,微软公司,通用语言运行时组,程序经理主管
本书是《微软.NET程序员系列》丛书之一,主要介绍如何开发面向Microsoft .NET框架的各种应用程序。Microsoft .NET框架是微软公司推出的新平台,包含通用语言运行时(CLR)和.NET框架类库(FCL)。本书将深入解释CLR的工作机制及其提供的各种构造,同时还将讨论FCL中一些重要的类型。全书共分为五个部分,包括:.NET框架基本原理、类型和通用语言运行时、类型设计、基本类型,以及类型管理。
本书适用于要了解、掌握.NET平台的读者,尤其适合广大编程爱好者、软件工程师、系统架构师阅读。
(五) .NET大局观
“David Chappell 是当今最优秀的技术作家之一。他身负数十年业界经验,以流畅的写作风格,为读者提供了这一份对.NET平台清晰而忠实的观察。面对本书,每一位称职的架构师、开发人员和管理人员都应该人手一本。我向你强烈推荐。”——Richard Monson-Haefel,《Enterprise Java Beans》3e (O’Reilly,2001)作者
微软的.NET是一个对Windows-based软件开发起到革命性影响的新技术集。.NET主题之一是Web services的思想,允许软件运用Internet技术,和其他软件直接通讯。这个首创技术中的核心组成:.NET Framework和Visual Studio.NET,提供了一个多语言环境,让开发人员在其中开发Web services及其他类型的应用。.NET的另一方面:.NET My Services,提供我们一个用以创建新型应用的新型平台。总而言之,.NET技术将改变几乎所有Windows应用程序的构建方式。
《.NET大局观》是为开发人员和技术管理人员撰写的一本书,是对Windows崭新开发景观的一份简明指南。页边注释、详细图表以及明晰的写作风格,使这本书易于阅读和浏览;分析文块则探索带争议的话题,并提出常见的关注点。这本书的独立观点和直白描述,清楚地阐示了.NET技术的运作机理和使用方式。
本书关键主题包括:
.NET本身及其目标总览
Web services技术, 包括SOAP(简单对象 存取协议)及其他…
.NET Framework通用语言运行层(CLR)
C#和Visual Basic.NET
.NET Framework类库(Class Library)
ADO.NET
ASP.NET
.NET My Services
理解是运用之钥。《.NET大局观》将使阁下得以作出正确的决策,并最大限度地挖掘这一革命性框架(framework)的潜能。
(六) PROGRAMMING MICROSOFT WINDOWS WITH C#(英文版)
Charles Petzold先生的《Programming Microsoft Windows With C#》没有理由不引起Microsoft.NET平台开发人员的注意,它在2001年12月甫一出版就和Jeffrey Richter先生的《Applied Microsoft.NET Framework Programming》一起被各方视为Microsoft.NET领域的“书坛双璧”,两者也被微软官方出版社钦定为Microsoft.NET领域的“红宝书”。显然,人们对Windows技术写作领域的两位大师抱以这样的期待有足够的理由。Jeffrey Richter先生不负众望,利剑出鞘,《Applied Microsoft.NET Framework Programming》已经成为Microsoft.NET底层框架技术方面公认的、事实上的Bible(圣经)。那么《Programming Microsoft Windows With C#》怎么样呢?是否能再现当年《Windows 程序设计》的辉煌?是否能成为读者所期待的Microsoft.NET平台下Windows程序设计方面的圣经呢?从笔者的阅读经验来看,《Programming Microsoft Windows With C#》一书虽然仍旧保持了Charles Petzold先生一贯的简约雅致、平实通俗的写作风格,但整本书不管在组织的广度上、还是在内容的深度上不免要使许多“慕名而来”的读者失望,还有不少地方有待补足与提高。当然,这本书在名目繁多的技术书籍中不能不算优良之品,只是与Charles Petzold先生的盛名不符,与期望的大师之作有差距。
在进入本文主题之前有必要对本篇书评所论的对象、以及该书的几个衍生版本向读者做一说明。该书首先出版的是2001年12月的英文版《Programming Microsoft Windows With C#》,后来由于考虑到C#和Visual Basic.NET语言相近的特点、以及广大Visual Basic.NET程序员的需要,Charles Petzold先生在所有主题内容没有丝毫变动的情况下将此书的代码和术语由C#全部换成Visual Basic.NET,随即又在2002年7月推出其姊妹书《Programming Microsoft Windows With Microsoft Visual Basic.NET》。《Programming Microsoft Windows With C#》目前在国内有两个版本,其一为世界图书出版公司于2002年6月出版的英文影印版,其二为北京大学出版社于2002年9月出版的中文版《Microsoft C# Windows程序设计》(天宏工作室翻译)。《Programming Microsoft Windows With Microsoft Visual Basic.NET》目前在国内还没有见到影印版,其中文版由华中科技大学出版社组织翻译。由于本文并不涉及具体编程语言,而且原作本身的主旨也不在具体实现语言,所以本文对这两本书的所有版本都将适用。特别要提醒读者注意的是,本文仅限于原书英文版的内容,而不会涉及中文版的翻译,读者不应该将本文看作是对中文版的评介——因为中文版不仅要看原来英文版的内容,很大程度上还要取决于中文版的翻译质量。
本书的“宽度”
我们知道微软为在Microsoft.NET平台上构建Windows桌面应用程序提出了一套全新的框架模型,这就是Windows Forms。本书的定位即在Microsoft.NET平台上如何构建Windows应用程序,自然它的所有内容都将围绕着全新的Windows Forms框架模型而展开。但是,不管Windows Forms框架模型怎样创新,一个典型的运行于Windows操作系统上的应用程序仍旧离不开Windows消息、图形界面、鼠标、键盘、菜单、控件、对话框、多线程等等这些基本课题。实际上Windows Forms框架模型就是利用Microsoft.NET平台中的互操作技术对传统Windows API的一个组件化的封装。了解了本书的主旨内容,我们就可以合理的提出我们的期望,并客观审慎地来评价本书的内容。
我们首先从内容组织的“宽度”上来审视本书。从功能逻辑上我们可将本书的整个内容划分为4个部分:Windows Forms应用程序基本构造、新一代图形设备接口GDI+、基本控件使用介绍、语言与常用类型参考。四个部分中除了“语言与常用类型参考”外,其他三个部分都是Windows Forms框架模型的基本课题,都是不可缺席的内容。但是,仅有这些是否就够了呢?我们没有看到一些重要的、期望中的构建企业级桌面应用程序的课题,比如数据绑定、定制控件、文档/视图模型、单文档/多文档用户界面、Windows Forms多线程模型等等,令人倍感遗憾。当然,也许作者的目的并非要读者读完本书就能彻底通透地运用Windows Forms模型,并能轻松地创建具有专业水平的Windows Forms应用程序。也许作者的视角在于向读者展示一个完整的Windows Forms应用程序的结构。实际上,作者在本书开始的话似乎已经暗示了本书的重点在于帮助读者建立Windows Forms模型下编写程序的基本观念,而非构建复杂应用。
本书的“深度”
首先来看本书的第1个部分——Windows Forms应用程序基本构造,这部分包括了Windows Forms应用程序模型基本介绍、键盘、鼠标、时钟、菜单、对话框、打印、剪贴板共8个主题,这些都是构建一个典型的Windows Forms应用程序所要涉及到的基本要素。
读者学习Windows Forms框架模型时一个最基本、同时也是最重要的问题便是“一个Windows Forms应用程序的基本结构是什么”。它是我们理解Windows Forms框架模型的基础,也是扩展Windows Forms框架模型的起点,要求这个本源性的问题在这本旨在讲述“Windows Forms应用程序设计基本观念”的书中得到解释不算为过。作者对这个问题当然有所触及,但是令人遗憾的是点到深处却戛然而止。作者并没有解答绝大多数读者运用Windows Forms框架模型时提出的一个基本而关键的问题:Windows Forms程序到底是怎样运行起来的——毕竟这种透过模型框架提供的表面服务来挖掘底层的API调用机制正是作者的专长,作为对Charles Petzold先生的期待并不过分,可是很多读者都要在此失望。类似这样的问题本章还有好几处。
下面来看本书的第2部分——新一代图形设备接口GDI+。这部分的确是本书的一个亮点,对于那些希望用Windows Forms框架模型来制作丰富、专业的图形界面的读者来说,这部分是一个很好的起点。在笔者的印象中,Charles Petzold先生一直有着精湛的Windows图形、几何知识,将这些知识应用到GDI+的讲解中自然如鱼得水。GDI+当然不仅仅是一些图形、几何元素的堆砌,它本身也有一个非常良好的结构体系——有过传统GDI编程经验的程序员一定会对此感同身受,相对于“句柄”、“设备上下文”的应用体验,相信很多读者在领略了GDI+中的各种“对象”后一定会欢呼雀跃——本书这部分在讲解GDI+的对象结构方面也有上好的表现。另外,在娓娓道来技术知识的同时,这部分还穿插了大量生动翔实、深具教益的示例。
再来谈一谈本书的第3个部分——基本控件使用介绍。这部分总体来讲比较平淡,偶尔有一些亮点,但也是点到为止,没有做深入的解析。如果读者先前看过Microsoft.NET框架SDK自带的“快速入门、教程和示例”中的“Windows 窗体快速入门”,那么应该对这部分内容比较熟悉,再来阅读本书的这部分内容收获不会太多。实际上读者在学会使用Windows Forms控件后,更希望得到关于控件的更深入的认识,可惜的是这些高级话题都没有如读者期望的那样在这部分得到详尽的解释,对于“定制控件”这个非常重要的课题,本书也只是在讲解其他课题时顺带地有所涉及,没有给予系统和深入的讲解,不能不视为遗憾。这部分唯一可圈可点的是作者选取的一些完整的示例,它们应该会为那些对于控件使用还不熟练的读者提供一个良好的模板范例。
最后谈一谈本书的第4个部分——语言与常用类型参考,这部分包括第1章的编程语言介绍、以及附录A、B、C中的文件I/O、数学运算、字符串操作。笔者认为这些主题都不应属于本书的着力范畴,作为参考列出的必要性也不是太大。
结语
这本书可以满足不少没有面向对象观念的传统Visual Basic、C程序员的需要,比如怎样使用面向对象技术来创建Windows Forms应用程序、正确的处理事件、运用新一代GDI+模型、使用常用的控件、操作鼠标和键盘等等,本书对这方面的程序员有实质性的帮助——实际上可以说是相当好了。但这本书显然不能满足大多数从C++、Java领域转向C#的程序员的胃口。
最后,笔者在此对于那些期望学习Windows Forms框架模型的读者给出关于本书(英文原版或者英文影印版)一个大胆的建议——中低级程序员需要仔细阅读本书、尤其是那些从Visual Basic转型到.NET(无论是C#还是Visual Basic.NET)上、面向对象观念还不成熟的程序员。但是对于高级程序员,尤其是已经有了比较成熟的面向对象观念的程序员,Windows Forms应用程序基本构造、GDI+模型、基本控件使用、.NET语言以及常用类型参考这些课题中除了有限的几个课题外,其他很多课题在本书中涉及的深度基本上都可以从Microsoft.NET SDK框架文档中轻松获得,购买此书的价值不是太大——当然,作为对Charles Petzold先生的尊敬,或者处于收藏目的则另当别论。对于已经学习过Windows Forms框架模型、又购买了此书的读者,精读、通读的必要性不大,最好把它作为某些课题(比如鼠标、键盘、时钟等)的针对性阅读来对待。当然,本书也才刚刚开始第一版,Windows Forms框架模型本身也还有很长的路要走,随着Windows Forms框架模型的成熟,我们有理由相信传奇作者Charles Petzold先生能够在本书未来的版本中再现昨日辉煌!