快速理解.NET Framework[翻译]

原文: http://www.c-sharpcorner.com/Code/2004/May/WhitePapers_DotNetFramework.asp
作者:Chandrakant P Parmar
翻译:路亦平
出处: http://www.c-sharpcorner.com/

** 快速理解 .NET Framework **

** 引言 **

本文着眼于微软 .NET 框架。这是较新发布的软件开发环境,它帮助开发者快速开发应用程序并且提供各种不同语言像 Visual Basic .NET, C#, ASP .NET, 和 Jscript .NET 等开发最合适的,高效的,可扩展的,面向性能的应用程序 。

** .NET框架概述
** .NET 框架是一种新的计算平台,它在 Internet 高度分布的环境中简化应用程序开发

** 服务 **

NET 框架提供以下服务:

  • 开发软件应用工具
  • 执行软件应用的运行时环境
  • 服务器基础设施
  • 帮助开发者减少编码提高工作效率的增值只能软件

.NET 框架将使开发者为不同设备和不同平台开发应用程序,如: windows 应用程序、 web 应用程序、 windows 服务和 web 服务。


** 目标 **

设计 .NET 框架是为了实现下列目标:

  • 一个一致的面向对象编程环境,目标代码能本地化存储和执行,本地化执行而不是分布式 Internet ,或者远程执行。
  • 一个减少软件部署和版本冲突的代码编辑环境。
  • 一个确保安全的代码执行的代码编辑环境,包括来自未知的或是不能完全信任的社团的代码。
  • 一个能消除脚本的或解释性的环境引起的性能问题的代码编辑环境。
  • 开发者在面对大量不同应用系统类型时有一致的开发体验,如基于 Windows 的应用程序和基于 Web 的应用程序。
  • 构造所有工业标准信息来确保基于 .NET 框架的代码能够集成任何其他代码。

** 理解.NET框架体系结构 **

.NET 框架有两个组件: .NET 框架类库和公共语言运行时。
.NET 框架类库使类型( CTS )变的简单,它对于 .NET 语言来说是公共的。
公共语言运行时组成部分有由:(类加载器)加载程序的 IL 代码并将起编译成本地代码到运行时,执行和管理代码来加强安全和类型安全,并且提供线程支持。

.NET 框架体系结构最顶部是像 VB .NET C#, VJ#, VC++ .NET 之类的语言;开发者能开发(使用上面的任何语言)像 Windows 窗体, Web 窗体, Windows 服务和 XML Web 服务。

** 理解 ** ** .NET ** 框架的角色

.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 语言编写程序。
ECMA 标准, 公共语言架构 ( CLI ),定义了 IL 代码需要执行的基础架构的规范。 CLI 提供一个 公共类型系统( CTS )和像类型安全,可管理的代码执行和 side by side 执行的服务。

图 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 装配器

** 图 2 Side-by-side 执行

** 理解 ** ** .NET ** ** 框架 ** ** CLR **

公共语言运行时:

  • 运行时环境

    • CLR 把应用程序编译成有运行时,把 IL 代码编译成本地代码,执行代码
  • 运行时服务

    • 内存管理
    • 类型安全
    • 增强安全
    • 异常管理
    • 线程支持
    • 调试支持

** 理解 .NET 框架 CLR 的体系结构 **

  • 类加载器,将类加载到 CLR 。
  • MSIL 到本地代码的编译,将把 MSIL 转变成本地代码。
  • 代码管理器,它在代码执行期间进行管理。
  • 内存分配和垃圾收集,表现为自动内存管理。
  • 安全的引擎,使用微软提供的工具和在控制面板对 .NET 框架配置加强安全限制包括代码级安全、文件及机器级安全。
  • 类型检查器,增强强类型检查。
  • 线程支持,提供对应用程序的多线程支持。
  • 异常管理器,提供对运行时异常处理的机制。
  • 调试引擎,允许开发者调试应用程序的不同类型。
  • COM 配置,允许 .NET 应用程序与 COM 应用程序交换数据。
  • 基类库支持,提供应用程序运行时所需的类。

**公共语言运行时的特征
**

CLR 有以下特征:

  • 管理内存:
    • 内存分配
    • 内存的重分配(垃圾收集)
  • 线程执行支持
  • 代码执行
  • 代码安全检查
  • 编译 <li class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 l
Published At
Categories with Web编程
Tagged with
comments powered by Disqus