什么是.NET

.NET是为简化在第三代因特网的分布式环境下的应用程序的开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性而构建的新一代计算和通信平台。其主要由三部分构成:.NET框架、WEB服务、.NET企业服务器。

首先先了解一下.NET框架的由来和架构,如下图。

下面对.NET的各个部分进行说明:

1. 操作系统(OS)

.NET平台是独立于操作系统,而这些是得益于CIL(也叫MSIL)和CLR的存在

2. .NET框架(Framework)

位于操作系统之上的.NET最重要的基础构架。提供了创建、部署、运行.NET应用的环境。Runtime(运行时)和Services实质上是框架的一部分。

3. 编程语言

CLR的核心功能可由其编译器是面向CLR的所有语言使用,所以选择何种语言开发取决于如何更好地表达自己的意图。

4. 企业服务

5. Building Blocks Service

6. .NET应用(控制台应用程序,脚本和宿主应用程序,WinFrom GUI应用程序,ASP.NET应用程序,WEB Services应用程序,Windows服务程序)

7. .NET体验

.NET平台的优势:跨语言、跨平台、安全、对开放互联网标准和协议的支持

什么是.NET框架

.NET框架具有两个主要组件:公共语言运行时(Common Language Runtime,以下简称CLR)和.NET框架类库(以下简称FCL)。

CLR是.NET框架的核心/基础,在CLI这个国际标准中,叫VES(Virtual Execution System,虚拟执行系统),CLR是VES在.NET平台上的实现,可以将其看做是一个执行时管理代码(程序集)的代理,提供核心服务(如内存管理、线程管理、远程处理等),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。

FCL是一个综合性面向对象的可重用类型集合,从功能上来看,可以将其划分为三部分:① 最内一层:由BCL(Base Class Library,基类库)的大部分组成,主要作用是对.NET框架、.NET运行时及CIL语言本身进行支持,例如基元类型、集合类型、线程处理、应用程序域、运行时、安全性、互操作等; ②中间一层,包含了对操作系统功能的封装,例如文件系统、网络连接、图形图像、XML操作等; ③ 最外一层,包含各种类型的应用程序,例如Windows Forms、ASP.NET、WPF、WCF、WF等。

.NET 和 .NET框架概览的更多相关文章

  1. Spring Framework 5.0.0.M3中文文档 翻译记录 Part I. Spring框架概览1-2.2

    Part I. Spring框架概览 The Spring Framework is a lightweight solution and a potential one-stop-shop for ...

  2. TinyFrame升级之一:框架概览

    由于之前的TinyFrame多于简单,并且只是说明原理,并无成型的框架出来,所以这次我把之前的知识进行了汇总,然后做出了这一版的TinyFrame框架. 整个框架的结构如下: TinyFrame.Da ...

  3. Java集合源码学习(一)集合框架概览

    >>集合框架 Java集合框架包含了大部分Java开发中用到的数据结构,主要包括List列表.Set集合.Map映射.迭代器(Iterator.Enumeration).工具类(Array ...

  4. Java 7 Fork/Join 并行计算框架概览

    应用程序并行计算遇到的问题 当硬件处理能力不能按摩尔定律垂直发展的时候,选择了水平发展.多核处理器已广泛应用,未来处理器的核心数将进一步发布,甚至达到上百上千的数量.而现在 很多的应用程序在运行在多核 ...

  5. Spring Framework 5.0.0.M3中文文档 翻译记录 Part I. Spring框架概览2.3

    2.3 Usage scenarios 使用场景 The building blocks described previously make Spring a logical choice in ma ...

  6. IOS框架概览

    iOS是执行在iPhone.iPod Touch或iPad上的操作系统,之前叫做iPhone OS,iOS与Mac OS X有共同的基础架构和底层技术.但iOS是依据移动设备的特点而设计的,所以和Ma ...

  7. 微服务框架概览之 Netty

    Netty 是什么 Netty 提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序 Netty 架构图 为什么选择Netty 通过对Netty的分析,我 ...

  8. JDK源码分析(7)之 Reference 框架概览

    对于Reference类大家可能会比较陌生,平时用的也比较少,对他的印象可能仅停在面试的时候查看引用相关的知识点:但在仔细查看源码后发现Reference还是非常实用的,平时我们使用的类都是强引用的, ...

  9. Flutter框架概览

    前言:进入新框架的开发前,有必要整体了解框架设计及特点,对该框架初步认识,此文对Flutter框架进行浅显梳理,以备查阅: Flutter框架   从该架构图可知,Flutter框架可分为Framew ...

随机推荐

  1. 【咸鱼教程】TextureMerger1.6.6 二:Sprite Sheet的制作和使用

    Sprite Sheet主要用于将零碎的小图合并成一张整图.减少加载图片时http的请求次数. 1 打开TextureMerger,选择Sprite Sheet 2  添加纹理(未创建项目时,会先弹出 ...

  2. 【BZOJ3413】匹配 离线+后缀树+树状数组

    [BZOJ3413]匹配 Description Input 第一行包含一个整数n(≤100000). 第二行是长度为n的由0到9组成的字符串. 第三行是一个整数m. 接下来m≤5·10行,第i行是一 ...

  3. 【JAVA】猜数字

    import java.util.*; public class GN { public static void main(String arg[]) { ;// 数字标记 ;// 位置标记 ;// ...

  4. C# XML对象序列化、反序列化

    XML 序列化:可以将对象序列化为XML文件,或者将XML文件反序列化为对象还有种方法使用LINQ TO XML或者反序列化的方法从XML中读取数据. 最简单的方法就是.net framework提供 ...

  5. iOS - UIScreen的 bound、frame、scale属性

    A UIScreen object contains the bounding rectangle of the device’s entire screen. When setting up you ...

  6. vue---阻止默认表单提交的三种方法

    vue在做表单提交的时候,需要用到一些自定义的验证规则,这个时候就需要阻止表单默认的提交方式. 方法一:直接阻止 <form id="form" @submit=" ...

  7. 冒泡排序算法的 python 实现与 C 的比较

    昨天用c写了简单的冒泡排序算法之后,正好最近在学 python,也想试试用python实现一下. 总体感觉,对于这种简答的小程序,python 确实充分体现了他简洁,易懂的特点.写起来特别流畅,舒服. ...

  8. Qt Package Project 打包发布程序

    在Qt项目开发完成后,我们想将项目打包发布成一个可执行文件,需要做如下步骤: 首先,将项目中的release文件中的可执行文件拷到一个新建的文件夹中,例如project.exe,用Qt自带的生成必备的 ...

  9. php里面向指定的页面提交数据

    在jquery里用 load post 等等,无法得到我想要的结果!于是突然-----这几天想的东西都白想了,现在只好这样了 现在想在php里面向指定的页面提交数据,应该有,还可以有返回值 于是找了这 ...

  10. UOJ 145 - 神奇的幻方 - [简单数学题]

    题目链接:http://uoj.ac/problem/145 题目描述 幻方是一种很神奇的 N∗N 矩阵:它由数字 1,2,3,⋯⋯,N×N 构成,且每行.每列及两条对角线上的数字之和都相同. 当 N ...