第9章NET框架及其类库.ppt
《第9章NET框架及其类库.ppt》由会员分享,可在线阅读,更多相关《第9章NET框架及其类库.ppt(28页珍藏版)》请在三一办公上搜索。
1、第9章.NET框架及其类库,保定职业技术学院,第9章.NET框架及其类库,9.1 NET框架 9.2.NET应用程序的核心要素 9.3托管C+语言基础 9.4第一个托管C+应用程序 9.5专题讨论与作业设计,9.1 NET框架,1.NET 框架的目标.NET 框架旨在实现下列具体目标:提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。提供一个将软件部署和版本控制冲突最小化的代码执行环境。提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。提供一个可消除脚本环境或解释环境的性能
2、问题的代码执行环境。,9.1 NET框架,1.NET 框架的目标使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。按照工业标准生成所有通讯,以确保基于.NET 框架的代码可与任何其它代码集成。2.NET框架的组成.NET框架是一个可以构造、发布及运行Web服务的开发环境。.NET框架平台包括两个方面:一个是运行时引擎(Runtime Engine),另一个是基础类库(Base Class Library)。,9.1 NET框架,2.NET框架的组成公共语言运行库是.NET 框架的基础。用户可以将运行库看作一个在执行时管理代码
3、的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其它形式的代码准确性。.NET框架的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发包含从传统的命令行或图形用户界面(GUI)应用程序到基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)在内的应用程序。,9.1 NET框架,9.1 NET框架,3.NET应用程序开发的类型客户端应用程序在基于 Windows 的编程中最接近于传统风格的应用程序。这些是在桌面上显示窗口或窗体从而使用户能够执行任务的应用程
4、序类型。客户端应用程序包括诸如字处理器和电子表格等应用程序以及自定义的业务应用程序(如数据输入工具、报告工具等等)。客户端应用程序通常使用窗口、菜单、按钮和其它 GUI 元素,并且它们可能访问本地资源(如文件系统)和外围设备(如打印机)。服务器应用程序开发在托管领域中,服务器端应用程序是通过运行库宿主实现的。非托管应用程序承载公共语言运行库,后者使用户的自定义托管代码可以控制服务器的行为。此模型在获得主服务器的性能和可伸缩性的同时提供给公共语言运行库和类库的所有功能。ASP.NET 是使开发人员能够使用.NET框架开发基于Web的应用程序的宿主环境。,9.2.NET应用程序的核心要素,1运行时
5、库.NET框架提供了一个运行时环境,这个环境叫做通用语言运行时(Common Language Runtime,简称CLR)。CLR可以管理代码的执行,并提供给开发人员进行开发时所需的服务。开发人员可以利用编译器和开发工具具有的运行时功能来开发托管的应用程序,托管应用程序使用的代码是由专门对CLR提供支持的编译器生成的托管代码。这种托管代码可以在设计和运行时,享受到跨语言集成、跨语言异常处理及统一调试等带来的好处。公共语言运行库具有如下功能:公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其它系统服务。,9.2.NET应用程序的核心要素,2中间语言从表面上看托管的应用程序和以
6、前的应用程序没有什么不同,当开发人员使用一种开发工具(例如VC+.NET),对符合.NET应用程序要求的源代码进行编译后,就会得到一个PE格式的可执行文件,这个文件里存储的不是我们所熟悉的本机代码,而是称为MSIL的中间语言代码。在可以执行代码前,必须将MSIL转换为CPU特定的代码,这通常是通过实时(JIT)编译器完成的。由于公共语言运行库为它支持的每种计算机结构都提供了一种或多种 JIT 编译器,因此可以在任何受支持的结构上对同一组 MSIL 进行 JIT 编译和执行。,9.2.NET应用程序的核心要素,3 JIT编译器在可以执行Microsoft中间语言(MSIL)之前,它必须由.NET
7、框架实时(JIT)编译器转换为本机代码。本机代码是运行于 JIT 编译器所在的同一计算机结构上的CPU特定的代码。由于公共语言运行库为每种受支持的CPU结构都提供了JIT编译器,开发人员可以编写一组可在不同结构的计算机上进行JIT编译和执行的MSIL。JIT编译考虑了在执行过程中某些代码可能永远不会被调用的事实。它不是花时间和内存将可移植可执行(PE)文件中的所有MSIL转换为本机代码,而是在执行期间根据需要转换MSIL并存储结果本机代码供后面的调用使用。,9.2.NET应用程序的核心要素,4程序集一个Visual C+应用程序可以包含一个或多个程序集。程序集是类型和资源的集合,创建类型和资源
8、的目的是为了共同工作和形成一个功能上的逻辑单元。程序集是可以在CLR下被共享和重用的功能单元,是具有可重用、版本化的和自我描述(通过元数据描述)的应用程序模块。它是可版本化的最小的单元。程序集可以分为动态程序集和静态程序集。不论是哪一种程序集,其中都有一个描述程序集中的元素如何相互关联的“额外”数据集合。元数据包含在一个配件清单中(manifest)中。5应用程序域应用程序域提供安全而通用的处理单元,公共语言运行库可使用它来提供应用程序之间的隔离。可以在具有同等隔离级别单个进程中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销。在一个进程内运行多个应用程序的能力显著增强了服
9、务器的可伸缩性。,9.2.NET应用程序的核心要素,6.NET框架类库和命名空间.NET 框架类库是一个与公共语言运行库紧密集成的可重用的类型集合。该类库是面向对象的,并提供用户自己的托管代码可从中导出功能的类型。这不但使.NET 框架类型易于使用,而且还减少了学习.NET 框架的新功能所需要的时间。此外,第三方组件可与.NET 框架中的类无缝集成。集合类将与.NET 框架中的类无缝地混合。正如对面向对象的类库所希望的那样,.NET 框架类型能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)。除这些常见任务之外,类库还包括支持多种专用开发方案的类型。,9.
10、2.NET应用程序的核心要素,9.3托管C+语言基础,1托管类型托管C+语言与传统的C+语言相比,语法上没有多大的变化,但是在数据类型上有了很大的改变,对于托管C+语言我们首先要学习托管数据类型。C+语言可以包含托管类型和非托管类型。托管类型是一种数据类型,该数据类型在托管堆上实例化(一般使用new 操作符),从不会在非托管堆或者栈上创建。托管类型是一种可以被CLR自动垃圾回收的类型,不需要用delete操作符来释放对象,此类对象不能直接删除。非托管类型是一种为垃圾回收器所忽略的数据类型,程序员需要用delete操作符来释放非托管类型的对象所占用的内存。托管C+类型总体上分为值类型和引用类型。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NET 框架 及其
链接地址:https://www.31ppt.com/p-5314876.html