经过了对C#较长时间的学习以及实践,不断地感受着.NET 框架——这个最本质,然而却似乎让人捉摸不透的概念。特别是经过拜读Anytao博主的《你必须知道的.NET》文章,使我对其概念关系得以厘清,在此作为回顾,对.NET 框架展开一些论述:

.NET 框架概要:

.NET框架,即.NET FrameWork ,其本身作为.NET 技术两大方面之一。从狭义角度来讲,即通常所说的.NET框架。然而就.NET技术来讲,.NET技术可以以规范实现两部分来划分:我们经常强调和提起的.NET FrameWork,主要包括公共语言运行时(Common Language RunTime,CLR) 和.NET 框架类库(FrameWork Class Library,FCL),它们本质上是.NET技术另一部分(规范)的实现部分;另一方面,即实现方面,我们称之为公共语言架构(Common Language Infrastructure,CLI),主要包括通用类型系统(Common Type System,CTS )、公共语言规范(Common Language Specification,CLS)以及通用中间语言(Common Intermediate Language,CIL)三部分。

上图即很形象了描述了.NET 技术的两大方面。

术语解释:

CLI:公共语言架构,.NET技术规范,已经得到ECMA批准;

CLS:公共语言规范,CTS的子集,是进行.NET开发所使用语言的最小集合;

CIL:通用中间语言,可以认为是.NET编译后的中间代码;

CLR:.NET框架的核心,管理代码的执行,以及几乎一切的服务控制;

FCL:.NET框架类库,形成以system为根的树状组织结构。其中在各命名空间中包含数以万计的类可供使用;

CTS:通用类型语言,其包括两种基本类型:值型引用型。每种类型又可细分为子类型,如下图可诠释:

综述之,.NET 框架基本构成如前所述。然而其各构成部分的相互关系,以及各部分的深化部分,没有实现(例如CTS类型的关系、FCL的深化理解)。这还需要在此基础上进一步巩固、加强。

【转自】http://www.cnblogs.com/yangmingming/archive/2010/01/27/1657850.html

【转载】.NET 框架浅析的更多相关文章

  1. 【转载】DXUT11框架浅析(4)--调试相关

    原文:DXUT11框架浅析(4)--调试相关 DXUT11框架浅析(4)--调试相关 1. D3D8/9和D3D10/11的调试区别 只要安装了DXSDK,有个调试工具DirectX ControlP ...

  2. CI框架浅析

    CI框架浅析(全篇)     业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很 ...

  3. MVC框架浅析(基于PHP)

    MVC框架浅析(基于PHP) MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数 ...

  4. CI框架浅析(二)

    该文延续上篇文章: CI框架浅析(一) 在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php Common.php 负责加载 ...

  5. Android Otto框架浅析

    今天要介绍的是一个Android中使用得比較多的android 事件总线 EventBus模式的一个框架Otto. Otto 官网:http://square.github.io/otto/ 一.An ...

  6. 转载文章----.NET 框架浅析

    转载地址:http://www.cnblogs.com/yangmingming/archive/2010/01/27/1657850.html .NET 框架概要: .NET框架,即.NET Fra ...

  7. GreenDao开源ORM框架浅析

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011133213/article/details/37738943 Android程序开发中,避免 ...

  8. Android Dagger依赖注入框架浅析

    今天接触了Dagger这套android的依赖注入框架(DI框架).感觉跟Spring 的IOC差点儿相同吧.这个框架它的优点是它没有採用反射技术(Spring是用反射的),而是用预编译技术.因为基于 ...

  9. Android aidl Binder框架浅析

      转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38461079 ,本文出自[张鸿洋的博客] 1.概述 Binder能干什么?B ...

随机推荐

  1. Python中的socket网络编程(TCP/IP,UDP)讲解

    在网络编程中的一个基本组件就是套接字(socket).套接字基本上是两个端点的程序之间的"信息通道".程序可能分布在不同的计算机上,通过套接字互相发送信息.套接字包括两个:服务器套 ...

  2. mysql无法启动,报错 Can't start server: can't create PID file: No space left on device

    然后看mysql日志文件 出现Can't start server: can't create PID file: No space left on device 这个错误. 提示磁盘空间不足 后用d ...

  3. 【JavaScript 13—应用总结】:锁屏遮罩

    导读:上次说了,当弹出登录框时,由于背景色和弹出框时一样的,这样子,其实比较难聚焦到底该操作哪一块.所以,如果,有了颜色的区分,那么通过屏幕遮罩的效果,就可以将我们希望要被处理的东西突出显示.也就达到 ...

  4. AWR报告中Parse CPU to Parse Elapsd%的理解

    AWR报告中Parse CPU to Parse Elapsd%的理解   原文自:http://dbua.iteye.com/blog/827243   Parse CPU to Parse Ela ...

  5. Java的反射机制和动态代理

    介绍Java注解的时候,多次提到了Java的反射API.与javax.lang.model不同的是,通过反射API可以获取程序在运行时刻的内部结构.反射API中提供的动态代理也是非常强大的功能,可以原 ...

  6. Bat命令学习 (转载)

    基础部分:====================================================================== 一.基础语法: 1.批处理文件是一个“.bat” ...

  7. POJ2560 Freckles

    Time Limit: 1000MS   Memory Limit: 65536KB   64bit IO Format: %lld & %llu Description In an epis ...

  8. 标准C程序设计七---14

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  9. 关于代码调试de那些事

    原文出处:http://www.wklken.me/posts/2014/11/23/how-to-debug.html 关于代码调试de那些事 1.你得明白你在做什么, 保持清醒 2.想清楚了再写代 ...

  10. ftrace用法

    ftrace官方文档在kernel/Documentation/trace/ftrace.txt文件中. 使用ftrace接口之前,如果系统没有自动挂载debugfs文件系统,则要先手动挂载. # m ...