zoukankan      html  css  js  c++  java
  • .NET框架体系结构

    刚开始接触.NET很疑惑,看完视频也不是太懂,通过总结和反复,从概括和概念入手,慢慢变得清晰了。这篇博客主要是我对.NET基础知识的了解,算作积累吧。

     

    .NET框架体系结构

    由四个主要部分组成

        公共语言运行时(CLR).NET框架应用程序的执行引擎..NET框架的关键作用在于,它提供了一个跨编程语言的统一编程环境,这也是它能独树一帜的根本原因。

              .NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集,即基底类别库(BCL

        而ADO.NET是一个新的数据访问框架,满足了ADO无法满足的三个重要需求:提供了断开的数据访问模型,这对Web环境至关重要;提供了与XML的紧密集成;还提供了与.NET框架的无缝集成.

        活动服务企页面(ASP.NET)提供了一个统一的Web开发模型,其中包括为开发人员生成企业级Web应用程序所需的各种服务和全新控件.它是一个已编译的、基于.NET环境的、可以用任何与.NET兼容语言创建的应用程序。

     

    .NET程序的编译与运行

        在编译使用.NET框架创建的代码时,不是立即创建成操作系统特定的本机代码,而是把代码编译为微软中间语言(MSIL)代码。在执行应用程序时由JIT编译器把MSIL编译为专用于某种操作系统和目标机器结构的本机代码,然后操作系统才能执行应用程序。 

    程序集

        在编译应用程序时,创建的MSIL代码存储在一个程序集中,程序集包括可执行的应用程序文件(.exe)和其他应用程序使用的库(.dll),还包括元数据和可选资源。

    托管代码

        托管是什么意思,说白了就是让CLR管理着应用程序,从源代码到MSIL,再到本机代码,再到程序执行,由.NET与操作系统进行交互。不在CLR控制之下运行的应用程序时非托管的。 

    托管代码最重要的一个功能是无用存储单元收集(garbage collection),也称垃圾回收,确保应用程序不再使用某些内存时,这些内存会被完全释放。

       下面这张图是.NET程序的编译与运行时的情况:

     

     

    .NET  VS J2EE

    .NET框架与SUN公司的J2EE体系结构是当今企业应用的两大体系结构,它们有很多相似之处,如下图(左侧为.NET框架,右侧为J2EE):

        可以看出,对于.NET框架的每一部分,J2EE体系结构都有所体现,他们都是企业级开发平台,并且广泛应用于Web开发领域。.NET框架和Java都使用了托管的运行时环境,都将源代码转换为一种中间语言,然后将其编译为 本地的可执行代码,两种体系结构都提供了无用存储的单元收集器、动态类加载和异常处理等。

    下面是关于.NET的几个小问题:

    1. .NET框架可以运行于哪些平台?

    目前可以运行在windows95/98/MEwindowsNT4.0windows2000windowsXPwindows2003windowsvista、windows 7、windows 10上。

    此外还有一个称为.NET精简框架的.NET框架版本,它运行在WindowsCE和其他嵌入式操作系统上。

    1. .NET框架支持哪些编程语言?

    .NET框架与编程语言无关。事实上任何语言都可以支持.NET框架。目前可以用许多语言来创建.NET程序,包括:C++VB.netJScriptC#。以后也会有大量的第三方语言可以用来创建.NET框架应用程序,包括CobolEiffelPerlPythonSmalltalk等。

    1. .NET框架可以创建哪些类型的应用程序?

    并不限制应用程序的类型,可以创建控制台应用程序、windows应用程序、Web应用程序、Web服务和其他各种类型的应用程序。

    1. .NET框架和COM+服务之间是什么关系?

    .NET框架中,不仅可以完全访问COM+服务,而且也更容易创建服务组件。.NET框架组件还可以利用COM+中所提供的服务,如事务、对象池、排列组件、事件等。

        那么“什么是.NET?”

        微软董事长兼首席软件设计师比尔盖茨的回答:“.NET是指连接信息、人群、系统和设备的软件。”

        微软原总裁兼首席执行官鲍尔默说:“.NET代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构。”

    现在再看这两个解释,确实是这么回事,好像没有那么抽象了。。。

    推荐:http://www.cnblogs.com/roucheng/p/3521864.html

  • 相关阅读:
    TextBox 只有下划线
    can't find web control library(web控件库)
    DropDownListSalesAC”有一个无效 SelectedValue,因为它不在项目列表中。
    IDE、SATA、SCSI、SAS、FC、SSD 硬盘类型
    如何打印1px表格
    CSS控制打印 分页
    Virtual Server could not open its emulated Ethernet switch driver. To fix this problem, reenable the Virtual Server Emulated Et
    Xml中SelectSingleNode方法中的xpath用法
    热带水果莫入冰箱?水果存放冰箱大法
    探索Asp.net的Postback机制
  • 原文地址:https://www.cnblogs.com/roucheng/p/netkuangjia.html
Copyright © 2011-2022 走看看