.NET Framework的结构体系

因为工作需要使用到.net,也学习了一段时间,但是对于整体的体系不是太清楚,在网上找到2个比较好理解的结构图

.NET Framework的结构体系_第1张图片

这是.net的体系图,从这个图上可以看到,ASP.NET,Windows Forms等等都只是.net平台开发的一部分,用于,net应用程序的展示。而在其上可以使用

各种语言来编写代码。.net的核心是“公共语言运行时”,“基础类库”等。而最下层的是Windows,.net的平台无关性也正在于此,如果将Windows换成Linux或者

其他平台,也是可以的,只要能够实现符合CLS通用语言规范.net语言就可以。在.net中,编译分为2个部分:

1. 第一个是将源代码编译成Microsoft的中间语言(IL),所以不管在上层使用的是c#还是其他什么语言,都能转成IL中间语言,一种低级语言,语法简单,但是

可以快速的转为本地机器码。

2.第2个是CLR将IL编译成平台专用的代码,比如这边是Windows。这也体现了平台的无关性,但这在目前还不是很成熟。(个人感觉,虽然微软的想法很好,是为

了更好的适应各种平台,但这个实现起来还是比较困难的,对于其他平台来时候,如果。net没有足够大的优势,其他平台的用户更多会偏向于使用更加熟悉或者常用的

语言)

下图是核心CLR的主要作用图:

.NET Framework的结构体系_第2张图片

从上图可以看到CLR为开发者提供的主要的服务,负责线程同步,类型检查,垃圾回收等等,CLR还提供了很多简化代码开发和应用配置,改善了应用程序的可靠性,

通常将在CLR控制下运行的代码成为托管代码(managed code)。这样的代码是直接运行在CLR之上的,具有平台无关性的特点。CLR实际就是虚拟机技术的一种产品,

架构在操作系统之上,只要能支持他的运行库的系统,都可以在上面运行。


你可能感兴趣的:(c#知识)