图书前言

前言

ASP.NET Web应用程序设计及开发(C#版)随着21世纪的到来,计算机技术的发展更加迅猛,在各行各业的应用也更加广泛。面对日新月异的新技术、新方法,我们必须对现有计算机课程的设置和教学内容进行调整,以适应技术进步与市场变化的需要。

今天,应用程序已由驻留在用户硬盘上的独立可执行文件发展为由 Web服务器在Internet上传送的分布式应用程序,相应地,任何一种开发平台及程序设计语言都必须适应这种变化。微软的.NET是一种开发平台,ASP.NET是.NET的组件之一,它为创建Web应用程序提供了一种新的编程模型和结构。Visual Basic.NET是在.NET平台上编程的一种高级语言,它为开发人员提供了生成企业级Web应用程序所需的服务。

使用.NET创建的Web应用程序都可以使用整个.NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承,.NET Framework类库等。

ASP .NET可以无缝地与所见即所得的HTML编辑器和其他编程工具(包括Microsoft Visual Studio .NET)一起工作,这使Web开发更加方便,并且包括开发人员可以用来将服务器控件拖放到Web页的GUI控件和完全集成的调试支持。当创建Web应用程序时,开发人员可以使用Web窗体或Web服务,并可以像创建Windows应用程序那样使用事件驱动的编程方法。

使用.NET可创建出更安全、可伸缩和稳定的企业级Web应用程序。

微软以.NET平台和C#、Visual Basic.NET编程语言及ASP .NET的形式与J2EE和Java进行全面的竞争。这是微软在编程语言和编程环境这块竞技场上所做出的最出色的成果。当然,他们有相当有利的条件: 他们可以看到Java在什么方面做得更好,在什么方面做得还不够好,然后,基于此去构建,并要具备Java不具备的优点。

目前,与J2EE相比,对.NET平台人们所关心的最重要的问题是: 微软是否会将它完全移植到其他平台上。微软宣称这没有问题,而且Mono项目(www.gomono.com)已经有了一个在Linux上运行的.NET的部分实现。

学习一种先进的语言和一种先进的编程方法将激起学生更大的兴趣。这些知识在他们离开学校,进入一个由信息占据重要地位的社会时可以立即发挥作用。正是这一点激发了他们对知识的学习热情。运用ASP .NET能够出色地完成任务,所以他们更愿意投入更多的精力和时间。

很多院校都有软件专业的学生,有的学校的学生在几年的学习时间中,不仅学了C、C++,而且也学了Java、Visual Basic或Visual Basic.NET甚至C#,同时还学习了Web应用程序设计及其他有关软件开发的课程。但据作者的调查,有些院校软件专业的学生在毕业找工作时,很难找到一份满意的工作,他们的工作与软件无关,甚至与计算机无关。不是企业不需要软件专业的人才,而是没有所需要的人才。我认识一位学生,学习成绩不错,学习也很勤奋,在毕业前夕还通过了全国计算机技术与软件专业技术资格(水平)考试,获得软件设计师资格。但当我交给他一份简单的实际任务时,他根本无从下手。这些都说明,我们的教学体系、教学内容、教学模式和方法都存在很多需要改进的地方。

ASP.NET Web应用程序设计及开发(C#版)前言本人不赞成用“玩具例程”说明概念、原理的教学方法。这些例子完全脱离实际,看起来很幼稚,尽管它能够说明一个概念,学生也容易看懂,上课也容易听懂。但是检查学习的好坏的标准,不是“知道还是不知道,听懂还是没有听懂,看懂还是没有看懂”,而是“会不会应用”。真实例程同样能够说明概念、原理和知识点,只不过是面对复杂的技术实践体系,需要花大量的时间、精力去设计这样的例程。只要设计得好,真实例程同样能够说明概念、原理和知识点,学生同样容易看懂、听懂,并且懂得在实际应用中如何运用这些概念、原理和知识点,起到事半功倍的效果。这就是本人编写本书的目标之一。

我的目标很明确,写一本实用、有一定深度且易读的ASP.NET程序设计教材,无论读者有无编程经验,要做到开卷有益,重要的是能够激发他们的学习兴趣,能够将他们所学的知识应用于实际。

本书将基本技能培养和主流技术相结合,以市场对人才的需求为依据,从应用与工程实践的角度出发进行组织,其主要特点如下。

1. 新体系、新内容、新手段、新思路。无论是内容体系、编写的思路、教学的模式及理念都具有一定的新意。

2. 先进性及实用性。本书的内容反映最新的、实用的程序设计方法及技术,符合新世纪教学发展的规律。书中讲授的程序设计方法与现代编程方法步调一致,具有很强的实用性。

3. 面向实际的应用程序驱动的教学方式。本书不是采用传统的“提出概念—解释概念—举例说明”的方法,而是以实践为主线,以应用为目标,通过完成实际的应用程序的方式学习程序设计知识。本书采用“提出任务—介绍完成任务的方法及步骤—归纳出一般的规律、概念及知识点”的模式。每一个新概念、知识点的提出都伴随着一个完整的、可实际运行的实用程序及其输入、输出。学生通过完成实例,掌握概念和知识点。

4. 使读者从一开始就编写有用的程序,这有助于激发读者的学习兴趣及动力。书中的实例不是只有几行代码的小程序,这些实例来源于实际应用程序或其中的一部分,它们是与我们的生活相关或大家感兴趣的内容。本书包含大量这样的实例,这些实例及其代码分析与讨论是本书的精髓。读者可先按照所描述的方法和步骤编写代码并运行自己所创建的应用程序,“探试”该应用程序,了解其工作过程,然后通过其代码分析与讨论掌握其包含的概念、原理和方法。

5. 逐步展现主题鲜明的各章。本书将集中重要的主题并进行充分论述,而不是肤浅地涉及许多问题,罗列许多概念、术语、语法。本书的内容及体系结构使学生感到它既具有易读性,又增长知识,具有很强的实用性。

6. 面向实际的技术。学习程序设计的目的是开发程序。本书不只是讲授语言要素、语法,而是教会读者如何用ASP.NET、C#开发Web应用程序,书中的每一个面向实际的应用程序实例都说明了开发过程及包含的知识点。通过学习如何开发程序来掌握语言要素、语法。本书通过一个实际的电子商务网站应用程序实例,讲授了三层架构的应用程序设计方法和开发过程。三层应用程序设计是企业应用程序常用的程序设计方法,作者通过这种方式,使读者能够熟练应用这种企业常用的程序设计方法和开发过程。

7. 面向对象的程序设计。本书采用了面向对象编程的思想。我们的目标之一是使学生习惯于现实世界的程序设计,仅仅知道面向对象的概念是不够的,学生们必须能够运用这些知识开发现实世界的程序。

8. 循序渐渐,由浅入深,综合应用。本书在设计时贯穿了一个思想: 面向实际,同时使读者容易理解、明白所包含的所有细节。因此本书在安排时,循序渐渐,由浅入深,后序章节在讲授新的知识点的同时综合应用了前面章节所讲的知识。这样做既温习了前面所讲的知识,同时也讲解了如何综合应用前面所学的知识解决问题。在书中很多实际应用程序实例中,不是只讲授一个新的知识点,而是在讲授新知识点的同时,应用了前面所讲过的知识。

9. 数据库。如今数据库应用程序对所有企业来说是至关重要的,因此本书在第二章用一章的篇幅,通过一个具体的实际应用程序实例讨论使用ADO.NET与SQL访问数据库的编程技术,为后续学习打下一个基础。后续章节在构建电子商务站点时,都应用了ADO.NET与SQL访问数据库的编程技术,并应用了三层架构的应用程序设计方法。

我们希望读者遵循书中介绍的方法和步骤实际建立实例程序,然后将实例程序进行修改或扩展,并通过对实例的代码进行分析与讨论,掌握实例背后包含的概念、原理、知识点和方法等,我们认为这是学习程序设计最稳妥、最有效、最快捷的途径。

通过本书的学习,读者应能达到如下目标: 

 面向对象的Web应用程序设计; 

 三层架构的应用程序设计方法和开发过程; 

 ADO.NET及Web数据库应用程序设计; 

 开发一个完整实用的电子商务站点。

由于水平的关系,书中的错误在所难免。如果发现不当之处,欢迎提出宝贵意见(pmshao@163.com),作者不胜感激。

邵鹏鸣〖〗2007年9 月