经过了对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. Luogu3195 [HNOI2008]玩具装箱TOY (方程变形 + 斜率优化 )

    题意: 给出一个序列 {a[i]} 把其分成若干个区间,每个区间的价值为 W = (j − i + ∑ak(i<=k<=j) - L)​2 ,求所有分割方案中价值之和的最小值. 细节: 仔 ...

  2. Poj 1041--欧拉回路

    Description Little Johnny has got a new car. He decided to drive around the town to visit his friend ...

  3. PAT Basic 1034

    1034 有理数四则运算 本题要求编写程序,计算2个有理数的和.差.积.商. 输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数, ...

  4. git 的右键快捷菜单恢复

    最近装了个vs 2017 的社区版的,发现之前安装的git的右键快捷方式不见了,因此在此写备注,只要是git的安装位置是默认位置的,也可以使用此注册表恢复,其他路径请自行修改reg文件 主要是针对gi ...

  5. 指定字符串 s,返回 s 所有可能的子串,每个子串必须是一个回文(指顺读和倒读都一样的字符串)

    Given a string s, partition s such that every substring of the partition is a palindrome Return all ...

  6. 【LeetCode】Roman to Integer(罗马数字转整数)

    这道题是LeetCode里的第13道题. 题目说明: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1 ...

  7. BNUOJ 6727 Bone Collector

    Bone Collector Time Limit: 1000ms Memory Limit: 32768KB   This problem will be judged on HDU. Origin ...

  8. Leetcode 357.计算各个位数不同的数字个数

    计算各个位数不同的数字个数 给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n . 示例: 输入: 2 输出: 91 解释: 答案应为除去 11,22,33 ...

  9. iOS学习笔记19-地图(一)定位CoreLocation

    一.定位介绍 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.要实现 ...

  10. BZOJ 3925 [Zjoi2015]地震后的幻想乡 ——期望DP

    我们只需要考虑$\sum F(x)P(x)$的和, $F(x)$表示第x大边的期望,$P(x)$表示最大为x的概率. 经过一番化简得到$ans=\frac{\sum T(x-1)}{m+1}$ 所以就 ...