《C#典型模块与项目实战大全》附带1张DVD光盘,内容为本书的多媒体教学视频及本书所涉及的源代码。
融汇.NET的9大最新技术,整合.NET的4大框架解决方案
精选13个典型模块和3个项目案例,实战.NET应用开发
提供极具价值的可扩展程序模块,提高开发效率
实战为王,展示实际项目案例的开发精髓
追踪最新的前沿技术,真正提高程序员的开发水平
应用当前流行的技术或架构,深入剖析并阐释原理
提供完整的源代码、配套视频和超值赠品
本书配书光盘中提供了11.5小时配套教学视频和30小时.NET开发教学视频。
《C#典型模块与项目实战大全》以实战开发为原则,以.NET和C# 4.0应用程序及项目开发为主线,通过.NET平台开发中常见的13个典型模块和3个完整的项目案例,深入介绍Silverlight、WPF、WCF、ASP.NET MVC、ASP.NET、Entity Framework、LINQ、Windows Forms、Windows服务等.NET框架的应用;同时深入浅出地介绍了.NET RIA开发模型、MVVM框架在企业开发中的应用、WPF用户界面高级开发技术、.NET分层架构在WPF应用程序中的实际应用、各种设计模式在实际项目中的使用。
全书共18章,分为3篇,涵盖的主要内容有C# 4.0语法精深解析、Silverlight与ReportViewer报表查看模块、XML阅读器模块、Silverlight可拖放的文件管理模块、WPF版推箱子和俄罗斯方块游戏、图书阅读器、WPF多媒体管理工具、WCF聊天程序、文件夹同步服务程序、图片浏览器、安全删除管理工具、电子商务网站、学生管理系统及任务管理系统等。
《C#典型模块与项目实战大全》内容丰富,实例典型,实用性强,适合各个层次想要学习C#和.NET 4.0开发技术的人员阅读。尤其适合有一定.NET基础,同时又想深入理解.NET各种框架在实际项目中应用的人员阅读。
第1章 .NET 4.0体系结构
微软公司每隔几年就会对其开发工具与平台进行升级,使得开发人员能更高效、更快速地开发高可用性的应用程序。.NET Framework 4.0是最新的一个版本。该版本与.NET Framework的早期版本是可以同时存在的。本章将从体系结构方面讲解.NET 4.0的新功能及其与.NET早期版本的不同之处,同时对于微软新的Visual Studio 2010的使用方法进行详细介绍。
1.1 C#与.NET的关系
C#是微软公司为了支持.NET框架而研发的一门语言,它具有Java的简洁、C++语言的灵活,并且有Pascal语言的严谨,是一门非常优秀的开发语言。.NET框架是一个应用程序开发平台,C#是为支持这个框架而开发的,它们具有非常密切的联系。作为一个.NET开发者,学会使用C#语言是非常有必要的。
C#与.NET之间的关系是非常密切的。C#只是一门语言,而且它是伴随着.NET出现的语言,用C#语言编程时,需要使用.NET框架类库来进行开发。但是与.NET框架相关的语言不止C#一种,开发人员可以使用Visual Basic.NET或者其他一些支持.NET的语言进行程序设计。
1.1.1 .NET Framework 4.0简介
微软公司自从发布.NET Framework 1.1以来,已历经了4个版本。微软不断地改善原有版本的缺陷和不足,不断地推出新的功能,到现在的4.0版本,已经成为了一个功能强大的应用程序开发平台,其发展路线如图1.1所示。
.NET Framework提供了一整套应用程序开发平台,它实际上由一大堆技术组合而成,这些技术彼此协作,能为开发人员提供无限的可能。归根结底,.NET Framework由如下几大部分组成。
* .NET语言:包括Visual Basic.NET、C#、JScript.NET、J#和C++等。
* 通用语言运行时(CLR):提供所有.NET程序的执行引擎,并为这些应用程序提供自动化服务,比如安全性检查、内存的管理和应用程序的优化等。
* .NET框架类库:包含大量内置的功能函数,使应用程序的开发人员可以更轻松地使用它提供的功能来实现应用程序的开发。这些类库被组织为几个技术集,比如ASP.NET、Windows Forms、WPF、WCF、WF、Silverlight、网络编程等。
* Visual Studio:功能强大,使用简便的集成化开发环境,具有一整套高效的功能集合和调试特性。
图1.1 .NET 版本发展路线图
在MSDN中,把整个.NET Framework分为两大类:一类是通用语言运行时(CLR),另一类就是.NET Framework类库。通用语言运行时是整个.NET应用程序的核心,无论使用什么样的语言,编写什么样的.NET程序,都需要这个核心引擎所提供的核心功能。
图1.2是.NET Framework的基本结构图,该图将.NET划分为两大部分,每一部分内部又细分了各种不同的功能模块。在类库部分,可以看到提供了很多开发人员常见的应用程序类型,基本上.NET程序员都在与.NET Framework中庞大的类库打交道。通用类型系统为.NET应用程序提供了一个托管的平台,它提供了较底层的功能,通常开发人员较少需要处理CLR的部分。
图1.2 .NET Framework基本结构
微软公司自从推出第一个.NET Framework以来,不断地升级和精炼这套框架的可用性。到目前为止,已经发展到.NET 4.0版。这一版本的.NET Framework除了修正和提升了原有框架的不足之处以外,还增加了很多新的开发类库,比如WPF、WCF和WF这3套开发基础库。
要深入理解.NET Framework这个大框架的架构,首先需要深入理解其核心部分,即CLR。1.2节将会详细介绍。
1.1.2 LINQ语言集成查询
在LINQ出现之前,当访问数据源时,开发人员不得不掌握特定数据来源的数据访问方法。比如要读取和写入XML数据,必须掌握操作XML的方法;要访问数据库,必须掌握ADO.NET技术等。
语言集成查询(Language Integrated Query,LINQ),如其名称所暗示,在开发语言如C#或者是VB.NET中集成了数据查询功能,这个功能的出现让开发人员可以不用了解异构数据源的细节,便能使用一种统一的方式来访问数据源,使开发人员可以专注于业务逻辑的设计。
图1.3是LINQ的结构图。从图中可以看到,LINQ允许的数据源中,LINQ的可查询能力可分作3大类:LINQ To Objects、LINQ To ADO.NET及LINQ To XML。下面对这3大类LINQ的组成部分进行简要介绍。
* LINQ To Objects:可以从任何实现了IEnumerable<T>接口的对象中查询数据。
* LINQ To ADO.NET:增强了LINQ To Objects,使之可以访问关系型数据库。从图1.2中可以看到,其主要由3个部分组成:LINQ To SQL,用于查询关系型数据库,例如SQL Server等;LINQ To Datasets,支持查询DataSet或DataTable;LINQ To Entities,是Microsoft ORM解决方案,允许开发人员使用实体(Entities)声明性的指定商业对象(business objects)的结构,并且使用LINQ进行查询。
* LINQ To XML(以前称为XLinq),不仅包括LINQ To Objects的功能,还可以查询和创建XML文档。
图1.3 语言集成查询LINQ结构
例如,对于关系型数据库来说,通常使用SQL语句来查询数据库。要查询Northwind数据库中employees表的Name字段,使用SQL语句语法如下所示。
Select name from employees
使用LINQ语法的话,语法与之类似,代码如下所示。
var query=form e in employees
select e.name
可以看到代码与SQL语句非常相似,但是使用LINQ,让开发人员可以用相同的语法查询异构数据源。比如一个employees的对象的集合,或是来自Oracle数据库的数据,都可以使用相同的语法进行查询。
1.1.3 WPF表现层技术简介
WPF是一种基于矢量绘图引擎的用户界面技术,也可以称其为下一代的显示系统。WPF可以让具有创造力的设计人员设计具有震撼视觉体验的Windows客户端应用程序的用户界面,也可以使用其子集Silverlight创建具有创造力的Web Base应用。
WPF有如下几项重大的功能特色。
* 基于矢量的绘图技术:WPF基于DirectX,可以最大化地利用显示卡的性能。基于矢量绘图技术,可以无限地放大和缩小图形。WPF利用Direct3D进行图形着色,充分利用显示卡的绘图单元。
* 采用声明式的程序设计:使用派生自XML的XAML标记语言来声明式的设计UI,设计人员也可以选择微软的Expression Blend设计软件进行UI部分的可见即所得的设计。
……