最下层蓝色部分是.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是如何运行的,涉及一些底层的东西,大家了解就行,不必深究。

最新文章

  1. asp.net(c#) Color颜色的转换
  2. json注意:
  3. AFNetworking request failed unacceptable content type text/html
  4. Python 1 —— Start Up
  5. HTML实现跳转到页面指定位置
  6. 7zip self-extracted executable: To extract file to specific directory
  7. python 中对list做减法操作
  8. hdu1016Prime Ring Problem
  9. QT5.5实现串口通信
  10. HTML+CSS D09 定位
  11. vijos1059题解
  12. [转载] FreeMarker教程
  13. 开发中使用Gson的实例(时间格式错误解决方法)
  14. 计算pi的位数
  15. Oracle Database 10g安装
  16. python 进程/线程/协程 测试
  17. unity3d 脚本周期函数
  18. thinkphp 无限极 评论
  19. luogu4389 付公主的背包
  20. 2.23 js处理日历控件(修改readonly属性)

热门文章

  1. 解决《UNIX环境高级编程》(APUE)示例代码的编译问题
  2. MySQL 聚簇索引&&二级索引&&辅助索引
  3. ceph 生成rpm包
  4. 开源配置管理平台-Apollo
  5. Windows Media Player 的文件格式支持情况
  6. oracle 回收表空间的数据文件大小
  7. Spring Session Redis
  8. SQL group BY 合并字段用逗号隔开
  9. Java知多少(91)对话框
  10. 第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1