第1章NET与C概述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2019年12月20日第1章.NET与C#概述主讲教师:杨建军教学目标本章主要介绍.NETFramework的概念、体系结构和.NETFramework各版本之间关系。同时,也介绍了VisualC#功能、特点以及VisualC#与.NETFramework关系。介绍了最新的程序设计语言。.NETFramework是VisualC#的运行环境,了解.NETFramework的基本概念是学习VisualC#的基础。教学重点♣.NETFramework基本概念♣.NETFramework的体系结构♣.NETFramework各版本之间关系♣VisualC#功能♣VisualC#特点♣VisualC#与.NETFramework关系♣程序设计语言1.1.NETFramework介绍开发人员有时很想知道究竟什么是.NETFramework和VisualStudio,它们与VisualC#究竟有什么关系。下面我们就介绍.NETFramework的有关知识和.NETFramework支持的语言。1.1.1.NETFramework概述♣.NETFramework是一个开发和执行环境,它使得不同的编程语言和库能够无缝地协同工作,来创建更易于构建、管理、部署、与其他网络系统集成或作为独立应用程序运行的控制台应用程序、Windows应用程序、Web应用程序、移动或Office应用程序。♣.NETFramework从最早的1.0版,发展到现在最新的3.5版。.NETFramework设计目标♣.NETFramework是一种新的计算平台,它简化了在高度分布式Internet环境中的应用程序开发,是.NET平台的核心部分。.NETFramework旨在实现下列目标:♥提供一个一致的面向对象的编程环境,无论对象代码是在本地存储和执行,在本地执行但在Internet上分布,还是在远程执行。♥提供一个将软件部署和版本控制冲突最小化的代码执行环境。♥提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。♥使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。♥提供一个保证代码(包括由未知的或不完全受信任的第3方创建的代码)安全执行的代码执行环境。♥按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。.NETFramework的内容♣公共语言运行时(CLR)公共语言运行时是一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。♣.NETFramework类库.NETFramework内部关系.NETFramework的基本概念1.公共语言运行库公共语言运行库(CommonLanguageRuntime,CLR),也叫公共语言运行时,负责管理用.NET框架类库开发的所有应用程序的执行。在VisualStudio.NET中集成的所有编程语言编写的应用程序均需通过公共语言运行库才能运行。.NETFramework的基本概念2..NETFramework类库.NETFramework类库是一个与公共语言运行库紧密集成的可重用的类型集合。该类库是面向对象的,并提供您自己的托管代码可从中导出功能的类型。这不但使.NETFramework类型易于使用,而且还减少了学习.NETFramework的新功能所需要的时间。此外,第三方组件可与.NETFramework中的类无缝集成。.NETFramework的基本概念3.Microsoft中间语言(MSIL)在VisualStudio.NET环境中,各种编程语言编译器负责完成编译工作的第一步,即把源代码转换为一种中间代码(MicrosoftIntermediateLanguage,MSIL)。MSIL是一种非常接近机器语言的代码,但还不能在计算机上运行,还要通过第二步编译工作将MSIL变为真正的机器语言,这个工作由即时编译器(Just-Intime,JIT)完成。.NETFramework的基本概念4.即时(JIT)编译器JIT将MSIL代码编译为特定于目标操作系统和计算机体系结构的本机代码。.NETFramework的基本概念5.CTS(CommonLanguageSpecification)CTS定义声明、定义和管理所有类型所遵循的规则,而无需考虑源语言。.NETFramework的基本概念6.CLS(CommonLanguageSpecification)CLS是所有针对.NET的编译器都必须支持的一组最低标准,以确保语言的互操作性。1.1.2.NETFramework体系结构应用程序开发的目标始终如一,就是在最短时间内制作出最好的软件。微软公司2002年发布了的Framework1.0,2005年发布了Framework2.0,2006年发布了Framework3.0,为我们设计和编写Windows软件的开发人员提供了更好的工作环境,效率也更高。.NETFramework3.0是从2.0版本演化而来,并在原来的基础上添加了许多新的功能。.NETFramework3.0适用于WindowsVista、WindowsServer2003和WindowsXP操作系统。其最新版本是.NETFramework3.5。.NETFramework3.5体系结构.NETFramework3.5版是在2.0和3.0版及其ServicePack的基础上构建的。.NETFramework3.5ServicePack1更新了3.5版程序集,并包含2.0和3.0版的新ServicePack。.NETFramework3.5结构示意图如下图所示。.NETFramework3.5体系结构.NETFramework3.5体系结构WindowsPresentationFoundation(WPF):适用于不同用户界面的统一方法:WPF是一组.NETFramework类型,可用于创建Windows客户端应用程序的可视外观。WPF包括许多功能,如可扩展应用程序标记语言(XAML)、控件、数据绑定、布局、二维和三维图形、动画、样式、模板、文档、媒体、文本和版式。.NETFramework3.5体系结构WindowsCommunicationFoundation(WCF):支持面向服务的应用程序。WCF通过SOAP提供强大的交互通信支持,这是现代计算机设备的基本要素。它还支持多项WS-*规范(如WS-Security、WS-ReliableMessaging和WS-AtomicTransaction)。WCF是一个运行库和一组API,用于创建在服务与客户端之间发送消息的系统。同样的基础结构和API可用于创建一些应用程序,这些应用程序可与同一计算机系统上或通过Internet访问的系统上的其他应用程序进行通信。.NETFramework3.5体系结构WindowsWorkflowFoundation(WF):支持基于工作流的应用程序。WF是编程模型、引擎和工具,用于在Windows上快速生成启用工作流的应用程序。.NETFramework3.5体系结构WindowsCardSpace(一致的数字标识用户控件):人们在Internet上是如何表示各自身份的呢?多数情况下是将个人的数字标识作为一个简单的用户名。再加上密码之后,就可以使用这个标识访问电子邮件帐户、网上商店、网上银行和其他一些金融机构了。尽管这种方法很简单,现在也在普遍应用,但是用户名和密码方式有着无法回避的缺点。最重要的两项是:要记住登录众多网站的不同用户名和密码,的确让人不胜其烦。为了减少这些麻烦,许多人在不同网站使用相同的用户名和密码,可这样又增加了安全风险。用户名、密码和其他个人信息可能会被网页仿冒者窃取。网页仿冒者会发送欺骗性电子邮件,诱使受害者去登录一个假冒网站,比如一个与受害者银行极其相似的仿冒网站。.NETFramework3.5体系结构要减少这些问题的危害性,我们需要采用新的方法来管理数字标识。WindowsCardSpace(最初代号为“InfoCard”)是这种新方法中的重要组成部分。为帮助人们追踪自己的数字标识,CardSpace用不同的信息卡来表示每个数字标识。如果网站接受CardSpace登录,那么用户在尝试登录这一网站时会看到CardSpace选择屏幕,如图1-3所示。您可以选择一张卡片,这就相当于选择了登录该网站的数字标识。不必再去费心记住数不清的用户名和密码,用户只要记住他们要使用的那张信息卡就可以了。不同的信息卡还包含其他信息,用户可以通过它控制登录网站时提交的信息。.NETFramework3.5体系结构LINQ:语言集成查询(LINQ)是.NETFramework3.5版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁.NETFramework2.0、3.0和3.5版之间的关系.NETFramework的每个版本都可独立于更高版本进行安装;每个版本将自动安装早期版本(如果尚未安装这些早期版本)。此外,.NETFramework3.5SP1还引入了客户端配置文件安装包,它只包含客户端应用程序所使用的程序集。.NETFramework2.0、3.0和3.5版之间的关系.NETFramework3.5为2.0和3.0中的技术引入了新功能,并以新程序集的形式引入了其他技术。下列技术是随.NETFramework3.5引入的技术:语言集成查询(LINQ)。C#、VisualBasic和C++的新编译器。ASP.NETAJAX。1.1.3.NETFramework支持的语言介绍Windows操作系统对编程人员而言是再合适不过的平台了。针对Windows®的语言有数百种,它们有的直接通过Win32®API或CLR来实现,但更多的还是通过你的编写来构建。CLR的目标之一就是要在一个系统中将语言和API无缝集成在同一运行时中。到目前为止它已取得了巨大的成功,出现了多种新的语言,如Ruby(IronRuby)、Python(IronPython)和PHP(Phalanger)等属于动态语言范畴,它们现在是Microsoft®.NETFramework语言中的一流成员。最近还引入了被称为F#的函数化语言。1.1.3.NETFramework支持的语言介绍1.面向对象编程语言面向对象(ObjectOrigin)是我们最为熟悉的一种模式。通过它您可以描述对象与绑定它们之间交互的约定所构成的环境。OO利用类型约定、多态性以及精细的可见性等多种功能来提供出色的重用和封装性。通常,面向对象的语言采用静态类型系统,因此它们被称为静态类型语言(如:C#和VisualBasic.NET)。1.1.3.NETFramework支持的语言介绍2.函数式编程语言函数式编程通常会避开状态(类似于变量和对象等内容)和状态变异。这实际上是与OO相左的,后者的主要目的恰恰是为了创建和操作状态(对象)。由于避开了状态,函数式程序往往更加准确、精密而且可验证。函数式语言可以是很纯粹的,也就是说没有任何副作用或状态。但是,大多数流行的函数式语言都具有状态操作功能,这有利于促进与外部API、操作系统以及其他语言的互操作性。1.1.3.NETFramework支持的语言介绍3.动态编程语言动态编程早在20世纪90年代中期就开始流行了,当时正是基于Web的应用程序大行其道的时候。在将服务器上的交互式动态元素添加到它们所驱动的网站上时,Perl和PHP是最常用的两种动态语言。在编译和执行程序代码方面,动态编程语言与静态语言(C#和VisualBasic.NET均为面向对象的静态语言)有所不同。使用动态语言时,代码编译通常会被延迟到运行时,即当实际开始运行程序的时候。在其他情况下,只是简单地对代码进行解释。通过编译过程中的这些延迟功能,程序代码可以包括并执行诸如动态扩展对象等行为,并允许编程人员根据需要

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功