[改编]如何理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)

本文解析了.NET Framework的组成,包括其基础架构、通用语言运行平台、类库等内容,并探讨了公共语言规范和公共类型系统如何确保不同编程语言间的兼容性。


  画个图认识认识.NET。

 

  最下层蓝色部分是.NET Framework的基础,也是所有应用软件的基础。.NET Framework不是凭空出来的,实际上API,COM+,和一些相关驱动依然是它的基石。.NET Framework只不过是对这些前辈们进行了系统的封装和扩充,在这个过程中,吸取了Java框架的很多经验。关于Win32 API与.NET Framework API的对应关系,可以参考Microsoft Win32 to Microsoft .NET Framework API Map

  除了蓝色部分以外,其他均为.NET Framework的主体。它是基于通用语言基础架构(Common Language Infrastructure,CLI)

  通用语言运行平台(Common Language Runtime,CLR),是对CLI这个架构在Windows平台的实现。

  类库(Framework Class Library,FCL),所有在.NET能够使用的类库。分为两部分,一部分为基类库,另一部分为其他成品类。

  • 基类库Base Class Library(BCL),顾名思义,其中包含一些基础的类,如:IO,String,Net等等。
  • FCL中的其他类。这些类库基本上都是引用BCL,在这些类库的基础上做的扩充。如:ADO.NET,ASP.NET,Windows.Forms等等,它们是我们编写程序更加方便,专一。

  公共语言规范Common Language Specification (CLS)公共类型系统Common Type System (CTS) ,是CLI的一部分内容,它们的目的是保证各种语言与.NET Framework的兼容性的。有了CLSCTS,就像有了操作工具。例如:把C#中的int和VB中的Integer统一映射到System.Int32。

  服务对象:各种语言,C#,VB,等等。

  至于食客们是怎么吃这些东西的,可以参考深入探索.NET框架内部了解CLR如何创建运行时对象,这篇文章详细的解释了,.NET是如何运行的,涉及一些底层的东西,大家了解就行,不必深究。

  好了,这是我自己对.NET Framework的一点理解,可能比喻有不恰当的地方,甚至有概念性的错误,希望大家指出来。我毕竟是初学者,大家的批评会帮助我成长。谢谢!

转载于:https://www.cnblogs.com/Raywang80s/archive/2013/01/21/2869224.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值