.NET概念和术语

来源:互联网 发布:百度大数据建立地点 编辑:程序博客网 时间:2024/05/16 19:17

虽然学习和使用.NET多年,但对于其中一些概念和术语的理解并不十分深刻。个人觉得概念是理解事物的基础,在此整理一下,供参考。

CLR

CLR全称Common Language Runtime,翻译为公共语言运行时,它是.NET应用程序的执行引擎。无论应用程序用何种语言编写,只要其编译器面向CLR,能生成CLR可执行的程序集,CLR都能执行。这就意味着,C#、VB、F#、Perl、Lua等各种语言所编写的程序和模块,最终都能被CLR无差别的认可。程序员可以根据各种语言的特点和要解决问题的性质,选择最合适的编程语言。例如,用APL来解决数学或金融问题,就比Perl简单得多,节省时间。

CLR封装和提供运行程序所需的核心功能,包括内存管理、程序集加载、安全性、异常处理、线程同步、类型检查等。CLR的多语言支持是通过中间代码(IL)来实现,各语言编译器通过将源程序编译成统一的中间代码,再由CLR加载执行。

CLI

CLR隔离应用程序与操作系统,其用意是达到一次编译,多操作系统运行的目的。这样各操作系统运行时的具体实现必须有一样的标准,这就是CLI(Common Language Infrastructure,CLI)公共语言基础是一套标准(ECMA335), CLR 是 CLI 标准的实现,Mono 是实现者之一。公共语言基础已被 ECMA 定义为标准 ECMA-335。要运行一个 .NET 应用程序,你必须使用相应的参数调用运行时。通用语言基础架构(CLI)定义了构成 .NET Framework 基础结构的可执行码以及代码的运行时环境的规范,它定义了一个语言无关的跨体系结构的运行环境,这使得开发者可以用规范内定义的各种高级语言来开发软件,并且无需修正即可将软件运行在不同的计算机体系结构上。

CTS

因为类型是CLR的基础,CLR的功能和交互都通过类型提供。CTS(Common Type System)公共类型系统就是用来描述这些类型定义和行为的标准规范,它通过中间语言(IL)来反映。CTS规范规定了类型的成员、方法、可见性、访问规则,对类型继承、虚方法和对象生存期等定义了相应的规则。无论哪一种编程语言,最终都编译成为符合CTS规范的IL代码。

CLS

CLS(Common Language Specification)公共语言规范,是CTS的一个子集,CLR支持的任何一种语言都是CTS的一个子集和CLS的一个超集,但不一定是同一个。CLS是避免由于语言的差异性导致语言之间无法通信和调用。例如VB方法名是不区分大小写的,C#中是区分大小写的,因此C#中两个仅大小写不同的方法名在VB中无法识别,是不符合CLS规范的,但是符合CTS规范。

1 0
原创粉丝点击