第1章组合编程平台介绍_第1页
第1章组合编程平台介绍_第2页
第1章组合编程平台介绍_第3页
第1章组合编程平台介绍_第4页
第1章组合编程平台介绍_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2000年,微软向全球宣布其革命性的软件和服务平台,它就是后来的Microsoft.NET,简称.NET。该平台利用以互联网为基础的计算和通讯的特点,通过先进的软件技术和众多的智能设备,提供更简单、更个性化、更有效的互联网服务。.NET的战略目标是在任何的时候,任何地方,任何工具都能通过.NET的服务获得网络上的任何信息,享受网络带给人们的便捷与快乐。通过10多年发展和时间的考验,证明它的确是一个非常好的软件开发技术和网络服务平台,值得

我们很好的学习和研究。第1章组合编程平台介绍1.1

.NET

简介.NET

就是微软的XML(Extensible

Markup

Language)Web

服务平台。该平台包含广泛的产品系列,它们都是

基于XML和Internet行业标准构建,提供从开发、管理、使用到体验XML

Web

服务的每个方面。更具体地说,它正在创建新一代软件工具、服务器、XMLWeb服务、客户端和.NET

体验五个方面。.NET开发技术可分为两部分内容,一是应用程序得以运行的框架.NETFramework,是.NET应用程序运行的平台;二是.NET的开发环境VisualStudio.NET,是一个集成开发环境IDE(Integrated

DevelopmentEnvironment)。目前常用的是.NET

Framework

3.0和Visual

Studio

2010。1.1.1

.NET框架.NET框架(

Framework

)包含两部分内容:公共语言运行时(CLR)和基础类库(FCL)。类库就是存放类的库,这些类我们可以

直接使用,它们封装了文件的操作、数据库

操作、线程、XML解析等一系列的高级应用。我们可以使用.NET框架提供大约7000多个类来建立我们自己的应用程序。下面我们来看一下.NET

Framework

3.0的架构图,如图1.1

所示。图1.1

.NET

Framework

3.0的架构图VB、VC++、C#、J#、…公用语言规范(CLS).NET

3.0

开发组件WPF(Windows描述基础)、WCF(Windows通信基础)、WWF(Windows工作流基础)、WCF(Windows

Cardspace信息卡基础)ASP.NET、ADO(ActiveX

Data

Objects)、WinForm基础类库(FCL)公共语言运行时(CLR)WindowsXP、WindowsVista、WIN71.1.2

Visual

Studio开发工具Visual

Studio

是一套完整的开发工具集,用于生成ASP.NET

Web

应用程序、XML

Web

Services、桌面应用程序和移动应用程序。Visual

Basic、Visual

C++、Visual

C#和Visual

J#全都使用相

同的集成开发环境

(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了.NET

Framework

的功能,通过此框架可使用简化ASP

Web

应用程序和XML

WebServices

开发的关键技术。Visual

Studio

2010

正式版已于2010年4月12日上市,中文版也已于2010年5月26号发布。VisualStudio

2013

是最新版本。1.2

微软中间语言MSIL微软中间语MSIL(Microsoft

IntermediateLanguage)是一种类似Java字节码的语言,它是一种介于高级语言和机器语言之间的伪汇编语言。当用户编译一个.NET程序时,编译器将源代码翻译成MSIL代码,它是一组可以有效地转换为本机代码且独立于CPU的指令。当执行这些指令时,实时(JIT)编译器将它们转化为CPU特定的代码。由于公共语言运行时支持多种实时编译器,因此同一段MSIL代码可以被不同的编译器实时编译并运行在不同的结构上。从理论上来说,MSIL将消除不同语言之间难以互相调用的问题,例如,一道程序使用C#而另一部分是VB.NET,但是最后这些代码都将被转换为中间语言。这给程序员提供了极大的灵活性,他们可以选择自己熟悉的语言,并且再也不用为学习不断推出的新语言而烦恼了。当编译器产生MSIL

时,它也产生元数据。元数据描述代码中的类型,包括每种类型的定义、每种类型的成员的签名、代码引用的成员和运行库在执行时使用的其他数据。MSIL

和元数据包含在一个可移植和可执行(PE)文件中,此文件基于并扩展过去用于可执行内容的已公布的MicrosoftPE

和公共对象文件格式(COFF)。这种文件格式包含

MSIL

或本机代码以及元数据,使得操作系统能够识别公共语言运行库映像。文件中的元数据以及

MSIL

的存在使代码能够描述自身,这意味着不再需要类型库或接口定义语言(IDL)。运行库在执行过程中根据需要从该文件中查找并提取元数据。1.3公共语言运行时CLR公共语言运行时CLR(Common

LanguageRuntime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用程序和底层操作系统之间必要的分离和协作。同时CLR也是一种多语言执行环境,支持众多的数据类型和语言特性。他管理着代码的执行,并使开发过程变得更加简单。这是一种可操控的执行环境,其功能通过编译器与其他工具共同展现。图1.2

展现了.NET程序执行原理。图1.2

.NET程序执行原理VB、C#

等语言程序中间语言代码MSIL公共语言运行时CLRWindowsLinux为了提高平台的可靠性,以及为了达到面向事务的电子商务应用所要求的稳定性级别,CLR还要负责其他一些任务,比如监视程序的运行。按照.NET的说法,在CLR监视之下运行的程序属于“托管”(managed)代码,而不在CLR之下、直接在裸机上运行的应用或者组件属于“非托管”(unmanaged)的代码。CLR将监视形形色色的常见编程错误,许多年来这些错误一直是软件故障的主要根源,其中

包括:访问数组元素越界,访问未分配的内存空

间,由于数据体积过大而导致的内存溢出,等等。CLR另一个作用是它可以实现跨平台,条件是在操作系统上安装.NET

Framework,安装了公共语言运行时的操作系统就可以识别和运行中间语言代码。当然,.NET里面的CLR和Java里面的虚拟机JVM是不同的,Java里面的虚拟机是解释执行的,而CLR是编译执行的,即在应用程序第一次被调用时一次性编译成机器码再执行,这样做比解释执行的效率更高。1.4

FCL基础类库FCL是一组DLL程序集,包含几千个类型定义,每个类型又有多种功能。微软还在不断地生成额外的程序库,这些额外的程序库提供了更多的类型,创造出更多的功能供你使用。开发者使用这些程序集能够创建如下几类应用程序:WEB程序

WINDOWS程序WPF程序工作流程序控制台程序组件库:单独的程序集,可用于前面提到的各种类型的应用程序中。因为FCL包括成千上万个类型,以名字空间分类展示给开发者。例如Syestem名字空间包含Object基类型,其他所有类型都可由它派生出来,此外,System名字空间包含各种基本数据类型以及格式化数据类型、产生随机数、执行各种数学函数等。所有应用程序都使用

System名字空间中的类型。为了访问framwork已有的功能,你需要知道你要的功能在哪个名字空间中,许多类型允许你定制他们的行为,你可以从FCL类型派生出你自己的类型。面向对象的本质是.NET

Framework如何提供一致的编程模式给开发者。开发者也能很容易地创建他们自己的名字空间来包含他们自己的类型。这些名字空间和类型无缝地合并到编程模式中,与Win32编程模式想比,这个新方法大大简化了软件开发。FCL中的大多数名字空间的类型可以用于任何种类的应用程序,表1.1列出了一些常见的名字空间并简单地描述了其中的类型的用途。这只是众多名字空间中很小一部分例子,请参考.NETFrameworkSDK文档来熟悉微软提供的逐渐增长的名字空间。在.NET平台中运行的任何语言都使用同样的类库,统一了开发模式。现在的.NET类库几乎可以用于开发任何程序,以及使用相同的开发技巧并且程序变得非常简单。名字空间内容描述System每个应用程序使用的所有基类型System.Data与数据库进行通讯和处理数据的类型System.Collection管理集合,如:堆栈、队列、列表等System.Drawing操作2-D图形和图像、打印等System.IO处理I/O和遍历文件夹与文件的类型System.Net允许网络通讯和网络协议的类型System.Reflection操作反射,查看元数据以及延迟绑定类型和成员类System.Runtime.InteropServices允许托管代码访问非托管OS平台的功能等System.Security用于保护数据和资源的类型System.Text不同编码文本处理的类型,例如ASCII和U

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论