什么是.NET平台

 1、含义

       .NET 是Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。

2、重要构成

        .net框架是.net平台最关键的部分.

        .net框架开发平台可以允许我们创建各种各样的应用程序:XML Web服务、Web窗体,Win32 GUI程序,Win32 CUI 应用程序,Windows服务、实用程序、以及独立的组件模块。

        Microsft .net框架为开发人员提供的技术比任何以前的微软发平台提供的技术都要多,比如代码重用、代码专业化、资源管理、多语言开发、安全、部署、管理等。在设计.net框架时,微软还感到有必要改进目前Windows平台的某些缺陷。

           结构图


          其主要有一下几个主要部分

        (1)通用语言运行时(Common Language Runtime---CLR) 

        公共语言运行时和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集)。

        公共语言运行时,是一种多语言执行环境,支持众多的数据类型和语言特性。他管理着代码的执行,更加简单。 

        这是一种可操控的执行环境,其功能通过编译器与其他工具共同展现。为了提高平台的可靠性, 以及为了达到面向事务的电子商务应用所要求的稳定性级别,CLR还要负责其他一些任务,比如监视程序的运行。

        按照.NET的说法,在CLR监视之下运行的程序属于 受管理的"(managed)代码,而不在CLR之下、直接在裸机上运行的应用或者组件属于"非受管理的"(unmanaged)的代码。

        (2)net 框架类库(Framework Class libarary--FCL)  

        FCL包含了数以千计的类型,这些类型按照其功能用命名空间(Namespace)来组织。

        .NET的各种语言只是定义了一些规则,而我们在实际中的运用,则要在很大程度上去调用FCL中的类型。正是这些类型,使得我们可以运用更少的语言知识,来创建丰富的程序。

         CLR和FCL支持我们可以开发以下几种应用程序:

          (1)XML Web Services

          (2)Web Forms

          (3)Windows Forms

          (4)WindowsCUI(控制台应用程序)

          (5)Windows服务(WindowsSCM-Service Control Manager-所控制的服务程序)

          (6)组件库

      (3)CLS通用语言规范(CommonLanguage Specification)

         一方面语言设计者们同意扩展他们的语言,如VB,C#,C++,Eiffel,FORTRAN等,支持或通过一定的方法使用CLS的某些特征所公开的功能集合。另一方面类库的设计者们同意在某种程度上公开功能集合以使这些来自于CLS的特征可以被利用。 

         很显然,编程语言的区别不仅仅在于类型。例如,一些语言支持多继承性,一些语言支持无符号数据类型,一些语言支持运算符重载。

         用户应认识到这一点,因此.NET通过定义公共语言规范(CLS:CommonLanguageSpecification),限制了由这些不同引发的互操作性问题。

          CLS制定了一种以.NET平台为目标的语言所必须支持的最小特征,以及该语言与其他.NET语言之间实现互操作性所需要的完备特征。认识到这点很重要,这里讨论的特征问题已不仅仅是语言间的简单语法区别。

          例如,CLS并不去关心一种语言用什么关键字实现继承,只是关心该语言如何支持继承。CLS是CTS的一个子集。这就意味着一种语言特征可能符合CTS标准,但又超出CLS的范畴。例如:C#支持无符号数字类型,该特征能通过CTS的测试,但CLS却仅仅识别符号数字类型。因此,如果用户在一个组件中使用C#的无符号类型,就可能不能与不使用无符号类型的语言(如VB.NET)设计的.NET组件实现互操作。

3VB.NET与VB6比较

         VB.net是纯面向对象的开发语言,为了适应.netFramework的安全性,vb.net进行了不小的调整。但是关键字修饰符之类的基本没有什么变化,所以只需要习惯.net下的强类型,应该是不难转型。

         举个简单的例子吧,vb.net下是没有“变体类型”这一数据类型的,整型就是整型,字符串就是字符串,像 

          a = 50 + 60 

          Text1.Text = a

这样的代码是不行的,VB6.0支持变体类型,会自动进行类型转换,而.net下为了保证安全性,会要求程序员自己进行必要的转换。 

         至于API,.net框架下对API的依赖性像VB6中那么高,一些API完成的工作可以由一些类库来完成。API的调用也不是一样的,因为有些API涉及到了“不安全代码”,而且API是用另一种非.net语言编写的,所以调用时有些特别的要求。                         

        vb.net工作在.NETFramework下,与VB6的解释执行不同,VB.NET是编译执行的,.net下所有的应用程序都被编译成一种“中间语言(MSIL)”的形式,运行时由一种称为即时编译器(JIT)的程序进行二次编译。可以说.net既是开发环境又是运行环境,它提供了通用类型系统(CTS)和“公共语言运行时”(CommonLanguageRuntime,CLR),前者为开发时提供了类型支持,.net下语言中的基本数据类型都来自于这个类型系统;后者为.net应用程序提供了运行环境,包括JIT、GC(内存垃圾收集器)等等,同时负责代码的运行时安全。

          最重要的一点是VB.NET纯面向对象的特性比较符合目前的软件开发方式。

4发展前景

         预测未来,在技术世界是常有的事儿。从高级语言的发展历史来看,编程世界从来就没有停止过脚步,变革时时发生、创新处处存在。以技术人员的角度来观摩未来,带着C#4.0的脚步来看展望, 除了在函数式编程、并行计算和动态特性上大展拳脚,MetaProgramming的概念已然浮出水面,将编译器变成一个Service,你可以自由控制在编译器和运行期的逻辑,那是多么美好而向往的未来呀,所以,我们坚信4.0之后还有广阔的天地随着语言的变迁变得更加开阔。

 


 


 


 












  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值