【转载】.NET 框架浅析
经过了对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 框架浅析的更多相关文章
- 【转载】DXUT11框架浅析(4)--调试相关
原文:DXUT11框架浅析(4)--调试相关 DXUT11框架浅析(4)--调试相关 1. D3D8/9和D3D10/11的调试区别 只要安装了DXSDK,有个调试工具DirectX ControlP ...
- CI框架浅析
CI框架浅析(全篇) 业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很 ...
- MVC框架浅析(基于PHP)
MVC框架浅析(基于PHP) MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数 ...
- CI框架浅析(二)
该文延续上篇文章: CI框架浅析(一) 在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php Common.php 负责加载 ...
- Android Otto框架浅析
今天要介绍的是一个Android中使用得比較多的android 事件总线 EventBus模式的一个框架Otto. Otto 官网:http://square.github.io/otto/ 一.An ...
- 转载文章----.NET 框架浅析
转载地址:http://www.cnblogs.com/yangmingming/archive/2010/01/27/1657850.html .NET 框架概要: .NET框架,即.NET Fra ...
- GreenDao开源ORM框架浅析
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011133213/article/details/37738943 Android程序开发中,避免 ...
- Android Dagger依赖注入框架浅析
今天接触了Dagger这套android的依赖注入框架(DI框架).感觉跟Spring 的IOC差点儿相同吧.这个框架它的优点是它没有採用反射技术(Spring是用反射的),而是用预编译技术.因为基于 ...
- Android aidl Binder框架浅析
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38461079 ,本文出自[张鸿洋的博客] 1.概述 Binder能干什么?B ...
随机推荐
- Python中的socket网络编程(TCP/IP,UDP)讲解
在网络编程中的一个基本组件就是套接字(socket).套接字基本上是两个端点的程序之间的"信息通道".程序可能分布在不同的计算机上,通过套接字互相发送信息.套接字包括两个:服务器套 ...
- 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 ...
- 【JavaScript 13—应用总结】:锁屏遮罩
导读:上次说了,当弹出登录框时,由于背景色和弹出框时一样的,这样子,其实比较难聚焦到底该操作哪一块.所以,如果,有了颜色的区分,那么通过屏幕遮罩的效果,就可以将我们希望要被处理的东西突出显示.也就达到 ...
- AWR报告中Parse CPU to Parse Elapsd%的理解
AWR报告中Parse CPU to Parse Elapsd%的理解 原文自:http://dbua.iteye.com/blog/827243 Parse CPU to Parse Ela ...
- Java的反射机制和动态代理
介绍Java注解的时候,多次提到了Java的反射API.与javax.lang.model不同的是,通过反射API可以获取程序在运行时刻的内部结构.反射API中提供的动态代理也是非常强大的功能,可以原 ...
- Bat命令学习 (转载)
基础部分:====================================================================== 一.基础语法: 1.批处理文件是一个“.bat” ...
- POJ2560 Freckles
Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %lld & %llu Description In an epis ...
- 标准C程序设计七---14
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- 关于代码调试de那些事
原文出处:http://www.wklken.me/posts/2014/11/23/how-to-debug.html 关于代码调试de那些事 1.你得明白你在做什么, 保持清醒 2.想清楚了再写代 ...
- ftrace用法
ftrace官方文档在kernel/Documentation/trace/ftrace.txt文件中. 使用ftrace接口之前,如果系统没有自动挂载debugfs文件系统,则要先手动挂载. # m ...