初学.NET肯定会有一系列的疑问,比如(以下为自己的疑问):

  1) 何为. NET框架,它都包含哪些东西?

  2)  程序集是什么,它是如何在CLR(通用语言运行时)中运行的?

  3)  C#与VB.NET同属于.NET平台,它们之间的根本联系和区别,为何他们之间的程序集能互相调用(如果创建一种新型的面向. NET的语言,要遵循什么)?

  想要明白如上问题,就需要弄清楚CIL(通用中间语言)、CLR(通用语言运行时)、CTS(通用类型系统)、CLS(通用语言规范)等等的概念,下面是自己看了一些他人的文章后进行的简单总结。

首先通俗地理解一下.NET平台、.NET框架(Framework)的概念

  “平台”(这里指软件技术平台,下面都指的是这个)就是能够独立运行并自主存在,为其所支撑的上层系统和应用提供运行所依赖的环境。提取一下就是,平台是一个环境。只要符合平台规范的应用都能扔到上面来运行。

  我的通俗理解.NET平台是.NET应用与操作系统之间的一个中介,首先它为.NET应用运行提供了环境,其次它为.NET应用与操作系统之间起到了“解耦”的作用,使得平台上层的应用不依赖与操作系统(的机器指令集)。至于如何解耦,要看它的编译过程,下面会进行解释。

  框架就好似某种应用的半成品,是前人根据经验开发的可复用的一组组件,供你选用,然后添血加肉完成你自己的系统。其思想与设计模式有些相似,框架是代码复用,设计模式是设计复用。框架又好似提供的一组规范,它规范应用系统的开发与部署,众所周知的J2EE框架就是定义了13个规范。

  粗略地说,一个.NET应用是一个运行于.NET Framework之上的应用程序。或者,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时CLR(通用语言运行时)之上的应用程序。

更多相关文章

  1. 最新总结C语言中关于指针等相关理解和使用事宜
  2. 使用C语言怎样清空输入缓冲区?这里有多种方法值得借鉴
  3. C语言不简单,连程序员都这么说,为什么呢?
  4. Microsoft C++ 语言扩展:try-except 语句结构化异常
  5. C++的可移植性和跨平台开发(长文)
  6. 如何用C语言计算矩形的周长和面积?(附代码)
  7. C语言是什么
  8. C语言怎么计算矩形的面积和周长
  9. c语言怎么输出字符串

随机推荐

  1. 学习SQL:MySQL必知必会
  2. 醒醒!Python已经支持中文变量名啦!
  3. Python 幕后解释器:一系列的学习资源
  4. SQL每日一题
  5. 再说相关性分析
  6. SQL今日一题(7):去重
  7. 为什么继承 Python 内置类型会出问题?!
  8. SQL今日一题(2)
  9. SQL今日一题(8)
  10. 脑洞:如何用一个整数来表示一个列表?