猪头山伯爵(
网学)贡献
第1章
.NET简介
1.1 什么是.NET
1
1.1.1 微软软件开发平台
.NET这个名称涵盖了微软主要的开发平台. 这个主题十分广泛, 包含了许多规范, 如组件的格式, 编程语言,标准类和工具等.除了这些规范,微软公司还提供了一套Windows平台的实现.提到.NET, 我们说的就是微软最新的软件开发技术,它取代了COM/win32/C++/VB/ASP的时代. 之所以叫.NET这个名称,是因为互联网和一般计算机
网络的使用在软件中越来越常见.应用程序 越来越倾向于互相连接.基于这个事实,.NET技术提供了许多方便的功能用于应用程序之间的通信, 这将在第22章和第24章进行介绍.为了在多种多样的实践场合提供应用程序互操作的能力,.NET平台 本身也在所有级别充分使用XML. 渐渐地,微软的所有产品都开始提供.NET类型的API.比如SQL Server 2005就允许在管理数据的 DBMS进程中注入.NET代码.Windows Vista(Windows的下一个版本)的API也部分地提供为.NET类 型.名为ASP.NET的Web页面构建技术现在是IIS 7.0 Web服务器的特权功能.Office办公套件现在也提 供了一个基于.NET的编程模型以取代过去的VBA模型.
1.1.2 一组规范
.NET平台本身就基于许多规范, 有些是由微软以外的其他组织来维护的. 这些规范定义了诸如C#, VB.NET和IL这样的语言,还定义了数据交换协议,比如SOAP格式.这些规范还有一些尚在完善过程 中的其他实现..NET已经可以部分地在其他非微软操作系统上获得支持.与C时代,C++时代与Java 时代相比而言,.NET开启了软件开发的新时代.有趣的是这种新时代的接替是周期性发生的,大约每 7年一次.每次新时代的到来,都伴随着开发人员效率的提升,因为引入的新观念及新应用程序都更 加人性化;此外由于硬件性能的提升,新的技术也能处理更多数据.这样一来整个行业采用这些新技 术来开发软件就能在提供更好质量的同时降低开发的成本.
1.1.3 .NET 概览
.NET技术主要是由以下3个部分组成的: 一组可扩展的开发语言, 包括C#和
VB.NET. 这些语言必须遵守一个名为CLS (公共语言规范, Common Language Specification)的规范. 一组可以在这些语言所开发的程序中使用的基类.我们有时使用BCL(基类库,Base Class Library)这种简称来代表这些类.本书则统称为.NET Framework的东西. 遵守一种称为CLI(公共语言基础设施,Common Language Infrastructure)规范的软件层.这
2
第1章
.NET 简介
个软件层只能识别一种名为IL(中间语言,Intermediate Language)的语言.该
软件层负责在 应用程序的执行期间将IL代码编译为机器语言代码.因此,所有.NET支持的
语言都必须提供 一个产生IL代码的编译器.微软所提供的CLI实现称为CLR(公共语言运行库,Common Language Runtime) . 除了这3个部分之外,还有一些方便.NET应用程序开发的工具.例如Visual Studio,它是一个IDE (集成开发环境,Integrated Development Environment) ,可以在其中使用C#,VB.NET和C++/CLI等语 言.这些工具的完整
列表可以在MSDN一篇名为.NET Framework Tools的文章中找到.大部分工具在本 书中都介绍了,并且列举在附录D中. 本书基本上是按照这三部分划分的,如图1-1所示.
CLS(公共语言规范) C#, VB.NET, 托管的C++,JScript,… BCL(基类库) ADO.NET, Forms,XML,ASP.NET等 CLI的实现 (公共语言基础设施) CLR(公共语言运行库) 工具
图1-1
.NET概览
1.2
发展历程
1.2.1 过去
早在1998年,负责开发MTS(Microsoft Transaction Server)产品的团队就希望开发一种新产品, 以解决COM技术的一些问题.这些
问题主要是COM和底层操作系统的强耦合造成的,此外,COM技 术在使用上,特别是在部署和维护层面上太过于复杂. 而同时,Java在软件开发领域受到青睐.越来越多的企业被虚拟机这个概念所吸引,它允许应用 程序无需改动就可以直接在大多数系统上