“菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)
既然要学.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的兼容性的。就好像有的食客习惯用筷子,有的则喜欢用叉子,像八戒就用九齿钉耙。有了CLS和CTS,各路食客就能使用自己喜欢用的餐具吃上可口的食物了。例如:把C#中的int和VB中的Integer统一映射到System.Int32。
食客:各种语言,C#,VB,等等。
至于食客们是怎么吃这些东西的,可以参考深入探索.NET框架内部了解CLR如何创建运行时对象,这篇文章详细的解释了,.NET是如何运行的,涉及一些底层的东西,大家了解就行,不必深究。
好了,这是我自己对.NET Framework的一点理解,可能比喻有不恰当的地方,甚至有概念性的错误,希望大家指出来。我毕竟是初学者,大家的批评会帮助我成长。谢谢!
“菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)相关推荐
- .NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)
既然要学.NET,就要先认识认识她,我不喜欢大段大段文字的东西,自己通过理解,画个图,来看看.NET的沉鱼落雁,闭月羞花之容. 最下层蓝色部分是.NET Framework的基础,也是所有应用软件的基 ...
- 关于CLS,CTS,CLI
本文将介绍以下内容: .NET 基础架构概念 类型基础 通用类型系统 CLI.CTS.CLS的关系简述 1. 引言 本文不是连环画,之所以在开篇以图形的形式来展示本文主题,其实就是想更加特别的强调这几 ...
- 什么是CTS、CLS、CLR
什么是CTS.CLS.CLR CTS:Common Type System 通用类型系统. CLS:Common Language Language Specification 通用语言规范. CLR ...
- 什么是CTS CLS和CLR
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 什么是C ...
- .NET的3C:CTS、CLS和CLR 以及 IL
.NET的3C:CTS.CLS和CLR .NET结合Java和COM解决方案两者优点来解决互操作性问题.类似于COM定义的标准二进制格式,.NET定义了一个称为通用类型系统Common Type S ...
- CTS、CLS和CLR分别作何解释?
CTS.CLS和CLR分别作何解释? 问题阐述 CTS.CLS和CLR分别是什么意思? 专家解答 CTS.CLS和CLR是.NET框架的3个核心部分,下面分别对它们进行介绍. (1)CTS CTS即通 ...
- .NET中 ,CTS、CLS和CLR分别作何解释?
1.CTS:通用语言系统 CTS:Common Type System 通用类型系统.Int32.Int16→int.String→string.Boolean→bool.每种语言都定义了自己的类型, ...
- CTS、CLS、CLR分别作何解释
CTS.CLS.CLR分别作何解释? a. CTS:通用类型系统 (commontype system).一种确定公共语言运行库如何定义.使用和管理类型的规范.即Int32.Int16→int.Str ...
- .NET中的CTS、CLS和CLR
在学习.NET的过程中,都会不可避免地接触到这三个概念,那么这三个东西是什么以及它们之间的关系是怎样的呢?我们在学习的过程中可能比较过多的会去关注CLR,因为CLR是.NET Framework的核心 ...
最新文章
- 蚂蚁财富联手百会CRM全面升级金融服务
- python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法
- java 一千万数字排序_java 输入任意几个数字,怎样将他们从大到小排序?
- CM: webservice 元数据在word template中的存储
- 404 错误页面_如何设计404错误页面,以使用户留在您的网站上
- 澄清谣言!微盟创始人回应员工删库:涉事者深陷网贷,有过轻生
- 开奖|1024中奖名单公布以及Postman资料分享
- MYSQL GDB 崩溃调试
- python画蜡烛致敬烈士_Python量化交易-绘制蜡烛图 !这个图不像你的钱哦!
- HTML iframe标签用法案例详解
- 入职中国人寿是个坑?
- 小刘的自学安卓开发第一天
- MyBatis之one2one与one2many
- 固态和机械硬盘组raid_SSD+机械硬盘Raid 0成最佳搭配?_浦科特 PX-M5Pro_固态硬盘评测-中关村在线...
- 10.23训练赛补题
- Java子类和父类的初始化执行顺序
- java StringTokenizer的用法
- 【网站技术解析③】--织梦入门使用教程
- 北京大学计算机专业保研夏令营,北京大学12院系办夏令营 优秀者可保研
- 震惊!!C++居然可以发出声音!
热门文章
- 扩展 KMP(模板) 洛谷P5410
- hbase rest api接口链接管理【golang语言版】
- java虚拟机10.内存模型与线程
- WPF--TextBlock的ToolTip附加属性
- Java中的局部变量表及使用jclasslib进行查看
- POJ-3693 Maximum repetition substring 后缀数组
- BulkLoader类使用
- 【转】CMMI环境下,该如何实施Agile?
- 树莓派4b装系统_树莓派4B初次使用--系统安装|配置
- 计算机配置对电子竞技的影响,配置高并不是唯一优点 看看电竞硬件还要啥?...