既然要学.NET,就要先认识认识她,我不喜欢大段大段文字的东西,自己通过理解,画个图,来看看.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平台的实现。简单地理解就是CLR这个厨师,让CLI这本菜谱发挥了其真正的作用。

  下面我们来尝尝这些佳肴:

  食物类库(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的一点理解,可能比喻有不恰当的地方,甚至有概念性的错误,希望大家指出来。我毕竟是初学者,大家的批评会帮助我成长。谢谢!

“菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)相关推荐

  1. .NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)

    既然要学.NET,就要先认识认识她,我不喜欢大段大段文字的东西,自己通过理解,画个图,来看看.NET的沉鱼落雁,闭月羞花之容. 最下层蓝色部分是.NET Framework的基础,也是所有应用软件的基 ...

  2. 关于CLS,CTS,CLI

    本文将介绍以下内容: .NET 基础架构概念 类型基础 通用类型系统 CLI.CTS.CLS的关系简述 1. 引言 本文不是连环画,之所以在开篇以图形的形式来展示本文主题,其实就是想更加特别的强调这几 ...

  3. 什么是CTS、CLS、CLR

    什么是CTS.CLS.CLR CTS:Common Type System 通用类型系统. CLS:Common Language Language Specification 通用语言规范. CLR ...

  4. 什么是CTS CLS和CLR

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 什么是C ...

  5. .NET的3C:CTS、CLS和CLR 以及 IL

     .NET的3C:CTS.CLS和CLR .NET结合Java和COM解决方案两者优点来解决互操作性问题.类似于COM定义的标准二进制格式,.NET定义了一个称为通用类型系统Common Type S ...

  6. CTS、CLS和CLR分别作何解释?

    CTS.CLS和CLR分别作何解释? 问题阐述 CTS.CLS和CLR分别是什么意思? 专家解答 CTS.CLS和CLR是.NET框架的3个核心部分,下面分别对它们进行介绍. (1)CTS CTS即通 ...

  7. .NET中 ,CTS、CLS和CLR分别作何解释?

    1.CTS:通用语言系统 CTS:Common Type System 通用类型系统.Int32.Int16→int.String→string.Boolean→bool.每种语言都定义了自己的类型, ...

  8. CTS、CLS、CLR分别作何解释

    CTS.CLS.CLR分别作何解释? a. CTS:通用类型系统 (commontype system).一种确定公共语言运行库如何定义.使用和管理类型的规范.即Int32.Int16→int.Str ...

  9. .NET中的CTS、CLS和CLR

    在学习.NET的过程中,都会不可避免地接触到这三个概念,那么这三个东西是什么以及它们之间的关系是怎样的呢?我们在学习的过程中可能比较过多的会去关注CLR,因为CLR是.NET Framework的核心 ...

最新文章

  1. 蚂蚁财富联手百会CRM全面升级金融服务
  2. python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法
  3. java 一千万数字排序_java 输入任意几个数字,怎样将他们从大到小排序?
  4. CM: webservice 元数据在word template中的存储
  5. 404 错误页面_如何设计404错误页面,以使用户留在您的网站上
  6. 澄清谣言!微盟创始人回应员工删库:涉事者深陷网贷,有过轻生
  7. 开奖|1024中奖名单公布以及Postman资料分享
  8. MYSQL GDB 崩溃调试
  9. python画蜡烛致敬烈士_Python量化交易-绘制蜡烛图 !这个图不像你的钱哦!
  10. HTML iframe标签用法案例详解
  11. 入职中国人寿是个坑?
  12. 小刘的自学安卓开发第一天
  13. MyBatis之one2one与one2many
  14. 固态和机械硬盘组raid_SSD+机械硬盘Raid 0成最佳搭配?_浦科特 PX-M5Pro_固态硬盘评测-中关村在线...
  15. 10.23训练赛补题
  16. Java子类和父类的初始化执行顺序
  17. java StringTokenizer的用法
  18. 【网站技术解析③】--织梦入门使用教程
  19. 北京大学计算机专业保研夏令营,北京大学12院系办夏令营 优秀者可保研
  20. 震惊!!C++居然可以发出声音!

热门文章

  1. 扩展 KMP(模板) 洛谷P5410
  2. hbase rest api接口链接管理【golang语言版】
  3. java虚拟机10.内存模型与线程
  4. WPF--TextBlock的ToolTip附加属性
  5. Java中的局部变量表及使用jclasslib进行查看
  6. POJ-3693 Maximum repetition substring 后缀数组
  7. BulkLoader类使用
  8. 【转】CMMI环境下,该如何实施Agile?
  9. 树莓派4b装系统_树莓派4B初次使用--系统安装|配置
  10. 计算机配置对电子竞技的影响,配置高并不是唯一优点 看看电竞硬件还要啥?...