引言 本文着眼于微软.NET框架。这是较新发布的软件开发环境,它帮助开发者快速开发应用程序并且提供各种不同语言像Visual Basic .NET, C#, ASP .NET, 和Jscript .NET等开发最合适的,高效的,可扩展的,面向性能的应用程序 。
.NET框架概述
服务 NET框架提供以下服务:
.NET框架将使开发者为不同设备和不同平台开发应用程序,如:windows应用程序、web应用程序、windows服务和web服务。
目标 设计.NET框架是为了实现下列目标:
理解.NET框架体系结构 .NET框架有两个组件:.NET框架类库和公共语言运行时。
.NET框架体系结构最顶部是像VB .NET C#, VJ#, VC++ .NET之类的语言;开发者能开发(使用上面的任何语言)像Windows窗体,Web窗体,Windows服务和XML Web服务。 .NET框架有两个组要的组件:公共语言运行时(CLR)和.NET框架类库。公共语言运行时是.NET框架的基础。CLR 在运行时管理代码,提供像内存管理,线程管理和remoting之类的核心服务,同时也加强严格的类型安全和促进代码正确来确保程序的安全性和健壮性(鲁棒性)。代码管理的概念是CLR的基本原则。针对CLR的代码被认为是可管理的代码,而不是针对CLR的代码则被认为是不可管理的代码。 类库是.NET框架的一个完整的组件, 包括可重用类的面向对象集合,它使我们能用来开发应用程序包括传统的命令行或是任何像Windows窗体,ASP. NET Web窗体和新近发明的XML Web 服务的Windows服务这样的图形用户接口(GUI)。 欧洲计算机制造商协会(ECMA)标准定义了通用语言规范(CLS);这加强了软件开发语言能够进行互操作。按照CLS编写的代码应该能和另一个符合CLS语言的代码一起编译。因为由符合CLS语言支持的代码将会被编译成中间语言(IL)代码。CLR引擎执行IL代码。这保证了符合CLS语言的互用性。微软.NET框架支持的语言有Microsoft Visual Basic .NET, Microsoft Visual C#, Microsoft Visual C++ .NET, and Microsoft Visual J# .NET. 语言编译器生成中间语言代码,叫做微软中间语言(MSIL),它使不同可互操作的.NET语言编写程序。 图1.微软.NET框架的ECMA标准 .NET框架提供基础架构和服务。CLI规范.它们包括: CLR包括CLI CLR也提供.NET应用程序的执行环境 公共类型系统: 提供数据类型,值,对象类型。这使得开发人员能用不同的语言开发应用程序。.NET语言共享CTS意味着所有在应用程序中的类型在CLI类型定义中是一样的。 类型安全: .NET框架在值和对象上执行操作,因为.NET框架需要知道每个值和对象的类型并且引用值和对象类型。 可管理的代码执行 .NET框架管理执行.NET应用程序时对象的状态。 .NET框架自动分配内存并提供来机收集机制来重新分配内存 Side-by-side执行 .NET框架通过使用不同版本的装配器允许同一应用程序的不同版本运行在同一机器上。装配器由IL代码和元数据组成。元数据决定应用程序的依赖关系。通过这个,.NET框架运行时能执行多种版本装配器并且解决遗留的开发环境的主要问题。那就是DLL HELL? 图1.微软.NET框架的ECMA标准 .NET框架提供基础架构和服务。CLI规范.它们包括: CLR包括CLI CLR也提供.NET应用程序的执行环境 公共类型系统: 提供数据类型,值,对象类型。这使得开发人员能用不同的语言开发应用程序。.NET语言共享CTS意味着所有在应用程序中的类型在CLI类型定义中是一样的。 类型安全: .NET框架在值和对象上执行操作,因为.NET框架需要知道每个值和对象的类型并且引用值和对象类型。 可管理的代码执行 .NET框架管理执行.NET应用程序时对象的状态。 .NET框架自动分配内存并提供来机收集机制来重新分配内存 Side-by-side执行 .NET框架通过使用不同版本的装配器允许同一应用程序的不同版本运行在同一机器上。装配器由IL代码和元数据组成。元数据决定应用程序的依赖关系。通过这个,.NET框架运行时能执行多种版本装配器并且解决遗留的开发环境的主要问题。那就是DLL HELL? 理解.NET框架CLR 公共语言运行时: 理解.NET框架CLR的体系结构 公共语言运行时的特征 CLR有以下特征: 理解CLR 为了执行程序并且获得可管理执行环境的所以好处,我们用CLS支持的.NET框架语言编写代码。语言编译器将源代码编译成由CPU相关的代码和平台相关的指令组成的MSIL代码。MSIL有下列组成: MSIL代码能够在执行前被编译成特定CPU指令,CLR所需要代码的信息只有元数据。元数据描述代码并且定义代码类型包括引用代码在运行期用到的其他类型。 CLR的特点 CLR的结构 CLR的特点 CLR的结构 为了执行程序并且获得可管理执行环境的所以好处,我们用CLS支持的.NET框架语言编写代码。语言编译器将源代码编译成由CPU相关的代码和平台相关的指令组成的MSIL代码。MSIL有下列组成: MSIL代码能够在执行前被编译成特定CPU指令,CLR所需要代码的信息只有元数据。元数据描述代码并且定义代码类型包括引用代码在运行期用到的其他类型。 CLR的特点 CLR的结构 CLR的特点 CLR的结构 CLR有以下特征: 理解CLR 为了执行程序并且获得可管理执行环境的所以好处,我们用CLS支持的.NET框架语言编写代码。语言编译器将源代码编译成由CPU相关的代码和平台相关的指令组成的MSIL代码。MSIL有下列组成: MSIL代码能够在执行前被编译成特定CPU指令,CLR所需要代码的信息只有元数据。元数据描述代码并且定义代码类型包括引用代码在运行期用到的其他类型。 CLR的特点 CLR的结构 CLR的特点 CLR的结构 为了执行程序并且获得可管理执行环境的所以好处,我们用CLS支持的.NET框架语言编写代码。语言编译器将源代码编译成由CPU相关的代码和平台相关的指令组成的MSIL代码。MSIL有下列组成: MSIL代码能够在执行前被编译成特定CPU指令,CLR所需要代码的信息只有元数据。元数据描述代码并且定义代码类型包括引用代码在运行期用到的其他类型。 CLR的特点 CLR的结构 CLR的特点 CLR的结构 |
|