经过了对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. 解决vm安装centos7网络无法启动问题

    采用以下命令: systemctl stop NetworkManager systemctl disable NetworkManager

  2. .NET中常见的加解密方式

    在互联网普及的初期,人们更关注单纯的连接性,以不受任何限制地建立互联网为最终目的.正如事情都具有两面性,互联网的便捷性给人们带来了负面问题,计算机病毒的侵害.信息泄露.网络欺诈等利用互联网的犯罪行为日 ...

  3. angular controller与directive相互引用

    /** * Created by Administrator on 2017/8/28. */ var app =angular.module('app',[]); app.directive('fo ...

  4. Codeforces Round #407 (Div. 2) B+C!

    B. Masha and geometric depression 被这个题坑了一下午,感觉很水,一直WA在第14组,我那个气啊,结束后发现第14组有点小争议,于是找出题人解释,然后出题人甩给了我一段 ...

  5. Python模块安装路径初探

    在调用MySQL第三方工具mysqlrplsync是报错 mysqlrplsync --master=checksum:checksum@master_ip:3306 --slave=checksum ...

  6. Get 了滤镜、动画、AR 特效,速来炫出你的短视频开发特技!

    在滤镜美颜.搞怪特效.炫酷场景等各种新奇玩法驱动下,短视频开始让人上瘾. 12 月 3 日,七牛云联合八大短视频特效平台共同推出了中国短视频开发者创意大赛(China Short Video Cont ...

  7. Subsequence(hdu 3530)

    题意:给你一个长度为n的数列,要求一个子区间,使得区间的最大值与最小值的差s满足,m<=s<=k,求满足条件的最长子区间 /* 单调队列 我们可以用单调队列分别维护最大值和最小值 当差值大 ...

  8. Codeforces Round #265 (Div. 2) C 暴力+ 找规律+ 贪心

    C. No to Palindromes! time limit per test 1 second memory limit per test 256 megabytes input standar ...

  9. msp430入门学习43

    msp430的其他十一 msp430入门学习

  10. SGU101 求有重边的无向图欧拉迹

    题意:好多木棒,俩端有数字(0--6)标记,按数字相同的端首尾相连成一条直线(木棒可以相同).即求有重边的无向图欧拉迹. 先判定是否为欧拉图,俩个条件,不说了.如果是欧拉图,输出路经. 方法:dfs遍 ...