第2章 Visua| Studio. net简介 21NET结构概貌 Web应用 Windows应用 ■21.1NET框架 NET框架 操作系 ⅤBNET VC++ NET C# 其它语言 CLS: Common Language Specifications(公共语言规范) 图21NET开发平台和基于NET的应用 Web service Windows forms Data and XML classes: ASPNET、XML、 ADONET、 SQL Server NET框架类库 CLR: Common Language runtime(公共语言运行库) 图22NET的体系结构
第2章 Visual Studio.NET简介 ◼ 2.1 .NET结构概貌 ◼ 2.1.1 .NET框架 Web 应用 Windows应用 … … .NET 框架 操作系统 图2.1 .NET开发平台和基于.NET的应用 VB.NET VC++.NET C# J# 其它语言 CLS: Common Language Specifications(公共语言规范) Web Service Windows Forms Data and XML Classes: ASP.NET、XML、ADO.NET、SQL Server s .NET 框架类库 CLR: Common Language Runtime(公共语言运行库) 图2.2 .NET的体系结构
2.1.1NET框架 VB. NET源程序 C#NEI源程序 CLS:公共语言规范 VB. NET编译器 C#编译器 MSIL: Microsoft中间语言 CLR:公共语言运行库 (JIT: Just In Time编译器) 本地代码 图23代码执行流程的示例
2.1.1 .NET框架 VB.NET源程序 C#.NET源程序 VB.NET编译器 C#编译器 MSIL: Microsoft 中间语言 CLR: 公共语言运行库 (JIT: Just In Time编译器) 本地代码 图2.3 代码执行流程的示例 CLS: 公共语言规范
2.1.2托管代码和托管数据 ,2, 支持跨语言集成是NET的一大特色,跨语言集成又称为跨语言编程、混 合编程或者跨语言互操作,为了达到这一目标,NET框架中的采用了 系列新技术,这些技术不能涵盖现有语言的所有成分,有的甚至彼此有矛 盾的,所以,在NET中,代码分为 managed code和 unmanaged code,前者 称为托管代码或受控代码,后者称为非托管代码或非受控代码。虽 然NET支持这两种代码形式,但是托管代码更体现了现代语言的风格, 更完整地体现面向对象程序设计的思想。在本书以后的内容中,除非特别 说明,我们的讨论都围绕托管代码展开。实际上,使用托管代码,才能安 全而又最大限度地利用NET的技术和资源 托管代码能够在公共语言运行库中受到管理和服务,能够安全而高效运行 为此,托管代码必须向CLR提供最低级别的信息一元数据( metadata) 全新设计的C#、 Visual basic net和J#NET代码都受托管。而 Visual C++.NET代码默认地不受托管,但是编译器可以通过指定命令行开关 (CLR)来产生托管代码
2.1.2 托管代码和托管数据 支持跨语言集成是.NET的一大特色,跨语言集成又称为跨语言编程、混 合编程或者跨语言互操作,为了达到这一目标,.NET框架中的采用了一 系列新技术,这些技术不能涵盖现有语言的所有成分,有的甚至彼此有矛 盾的,所以,在.NET中,代码分为managed code和unmanaged code,前者 称为托管代码或受控代码,后者称为非托管代码或非受控代码。虽 然.NET支持这两种代码形式,但是托管代码更体现了现代语言的风格, 更完整地体现面向对象程序设计的思想。在本书以后的内容中,除非特别 说明,我们的讨论都围绕托管代码展开。实际上,使用托管代码,才能安 全而又最大限度地利用.NET的技术和资源。 托管代码能够在公共语言运行库中受到管理和服务,能够安全而高效运行, 为此,托管代码必须向CLR提供最低级别的信息——元数据(metadata), 全新设计的 C#、Visual Basic .NET 和 J #.NET 代码都受托管。而Visual C++ .NET代码默认地不受托管,但是编译器可以通过指定命令行开关 (/CLR) 来产生托管代码
2.2NET的核心成分简介(1) 221公共语言运行库(cLR: Common Language runtime) CLR和下面介绍的类库是NET框架的两个实体。CLR基本功能 是运行代码并且提供各种服务,使得整个运行更加简易。主 要功能包括: 执行和管理:完成运行过程中的代码加载、应用程序和托 管对象的内存管理、对象自动布局、使用JT将MSI编译成 本地代码并且控制代码执行、处理异常等全部步骤 提供安全保证:类型安全、代码访问安全、控制托管和非 托管代码的互操作 对开发者的支持:提供界面信息,帮助调试等
2.2 .NET的核心成分简介 (1) CLR和下面介绍的类库是.NET框架的两个实体。CLR基本功能 是运行代码并且提供各种服务,使得整个运行更加简易。主 要功能包括: ⚫ 执行和管理:完成运行过程中的代码加载、应用程序和托 管对象的内存管理、对象自动布局、使用JIT将MSIL编译成 本地代码并且控制代码执行、处理异常等全部步骤 ⚫ 提供安全保证:类型安全、代码访问安全、控制托管和非 托管代码的互操作 ⚫ 对开发者的支持:提供界面信息,帮助调试等 ◼ 2.2.1 公共语言运行库(CLR: Common Language Runtime)
2.2NET的核心成分简介(2) ■222NET框架类库( NET Framework Class Library NET类库又称基础类库( Base Class Library,简称 BCL),NET类库提供数千个类、接口等工具供程序员直接 使用。它们主要有如下几个部分:数据结构、IO管理、数 据库访问、多线程、远程访问、反射等 NET支持的所有语言都能使用类库,任何语言使用类库的方式 是一样的,任何一种应用程序使用类库的方式也是一样的 学会使用类库是设计基于NET的各类应用的基本功 和CLR不一样的是:通常情况下,CLR对程序员而言是透明的; 而类库是程序员必用的工具,熟练掌握类库是程序员的基本 功
2.2 .NET的核心成分简介 (2) .NET类库又称基础类库(Base Class Library,简称 BCL),.NET类库提供数千个类、接口等工具供程序员直接 使用。它们主要有如下几个部分:数据结构、I/O管理、数 据库访问、多线程、远程访问、反射等。 .NET支持的所有语言都能使用类库,任何语言使用类库的方式 是一样的,任何一种应用程序使用类库的方式也是一样的。 学会使用类库是设计基于.NET的各类应用的基本功。 和CLR不一样的是:通常情况下,CLR对程序员而言是透明的; 而类库是程序员必用的工具,熟练掌握类库是程序员的基本 功。 ◼ 2.2.2 .NET框架类库(.NET Framework Class Library)