频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

1.1 .NET框架概述

作者: Stephen C.Perry 出处:机械工业出版社  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-06-21 17:17
关 键 词:.NET/C#/.NET和C#介绍
阅读提示:《C#和.NET核心技术》 重点讲解如何用实用的代码来解决具体的实际问题。本书的内容覆盖面很广,从新的C#范型到Web服务,从反射到安全等都有涉及。系统地介绍了Windows 窗体应用的开发,并讨论了如何有效地使用GDI+图形类。本文是.NET框架概述。
1.1 .NET框架概述
.NET框架设计为一个集成环境,可以在Internet、桌面(如Windows窗体),甚至移动设备(使用精简框架Compact Framework)上无缝地开发和运行应用。其主要目标是:提供一个覆盖整个应用范围的、一致的面向对象环境;
提供一个环境,将困扰Windows(COM)程序员的版本冲突(“DLL Hell”,即DLL地狱)问题最小化,简化代码的发布/安装过程;
基于公认的标准,提供一个可以在任意操作系统上运行的可移植环境。实际上,C#和.NET运行时的一个主要部分,即通用语言基础设施(Common Language Infrastructure,CLI),已经得到了ECMA的标准化。
ECMA国际(ECMA International)全名是欧洲计算机制造协会(European Computer Manufacturers Association),简写作ECMA。
提供一个可管理的环境,在这个环境中,可以很容易地验证代码,以保证程序安全运行。
为了实现上述目标,.NET框架设计者们最后确定了以下体系结构,将框架分解为两部分:通用语言运行时CLR和框架类库FCL,其结构如图1ˉ1所示。
CLR是Microsoft对CLI标准的具体实现,它处理代码执行及所有相关任务:编译、内存管理、安全、线程管理、强制类型安全和类型使用。在CLR中运行的代码称为托管代码(Managed Code),以区别于不在CLR中运行的非托管代码(unmanaged code),如基于COM或Windows API的组件。
.NET的另一个主要部分是框架类库FCL,对于在.NET中运行的应用来说,它是一个可重用的类型(类、结构等)代码库。正如图中所示,它包含了涉及数据库访问、图形、与非托管代码互操作、安全、Web和Windows窗体等类。只要是遵循.NET框架的语言,都会使用这个公共类库。因此,只要知道了如何使用这些类型,不论你选择用哪一种.NET语言编写程序,这些知识都可以用上。 Microsoft.NET和CLI标准
如果开发人员下决心花时间来学习C#和.NET,很自然地会想到,能否将获得的知识应用于其他平台上。更明确地说,Microsoft的.NET产品是否仅限于Windows操作系统?或者,它是不是一个可移植的运行时和开发平台,可以在多个操作系统上实现?要回答这个问题,有必要先了解Microsoft.NET、C#和CLI标准之间的关系。
CLI定义了一个与平台无关的虚拟代码执行环境。由于未指定任何操作系统,所以操作系统可以是Windows,更可以是Linux。该标准的核心是定义了一个通用中间语言(Common Intermediate Language,CIL)和一个类型系统,遵循CLI的编译器必须生成CIL,而类型系统则定义了遵循CLI的所有语言都支持的数据类型。下一节将会讲到,这种中间代码将编译为其主机操作系统的本地语言。
CLI还包含了由Microsoft开发并大力推行的C#语言的标准,因此,C#是.NET事实上的标准语言。 图1ˉ2 CLI规范定义的架构 但后来,其他厂商也很快采纳了CLI标准,并开发了诸多语言,如Python、Pascal、Fortran、Cobol和Eiffel.NET编译器。
图1ˉ1所示的.NET框架是Microsoft对CLI标准的实现。需要注意的最重要的一点是,这个实现中包含的大量特性并不是CLI架构所要求的。为了说明这一点,图1ˉ2给出了CLI标准架构,你可以与图1ˉ1做一个比较。
概括起来,CLI定义了两个实现:一个是最小实现,称为内核概要(Kernel Profile),另一个提供了更多特性,称为精简概要(Compact Profile)。内核概要包含遵循CLI的编译器所需要的类型和类,其中基类库包括基本的数据类型类,还包括提供简单文件访问、定义安全属性以及实现一维数组的其他类。精简概要添加了3个类库:定义简单XML解析的XML库、提供HTTP支持和端口访问的网络库,以及支持反射(程序通过元代码实现自检的一种方法)的反射库。
本书介绍的是Microsoft的CLI实现,但如果只介绍CLI规范中定义的内容,那么本书的篇幅可能就小多了。倘若如此,我们就不会特别加入章节来介绍ADO.NET(数据库类)、ASP.NET(Web类)或Windows窗体等内容,而有关XML的各章也将大幅削减。你应该会想到,这些库的功能依赖于底层Windows API。另外,.NET允许程序使用一种互操作(Interop)特性来调用Win32API,也就是说,.NET开发人员不仅能访问Win32API,还能访问遗留应用和组件(COM)。
由于如此倚重于Windows,Microsoft的.NET实现更称得上是一个透明环境,而不只是一个虚拟环境,这并没有什么不好。对于转向.NET的开发人员来说,利用Microsoft的.NET实现,能够充分结合.NET组件和原来已有的代码来创建混合应用。也就是说,无需将.NET实现代码移植到其他操作系统。CLI开源组织正在着力采纳Microsoft增加的这些特性,对开发人员(以及本书读者)来说,这自然是一个好消息。作为CLI主要项目之一的Mono,就已经包含了
诸如ADO.NET、Windows窗体、全部XML类,以及大量集合(Collection)类等主要特性。这确实非常重要,因为这意味着,如果你在使用Microsoft.NET的过程中积累了一些知识和技能,那么这些知识对于Linux、BSD、Solaris平台上的.NET实现也同样适用。了解了这一点之后,下面就对Microsoft CLI实现做一个概要介绍。   见http://www.monoˉproject.com/Main Page。
【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有