.net系统自学笔记——.net体系结构

.net Framework 核心功能
1.对已有代码具有完全的互操作性
2.支持多种语言编程
3.所有支持.net的语言共享的公共运行时引擎
4.全面和彻底的语言集成
5.全面的基础类库
6.不关注Com底层操作
7.真正简批的部署模型

.net平台构造块:
CLR,CTS,CLS
CLR:公共语言运行库Common Language Runtime:为我们定位,加载和管理.net类型,同时也负责一些低层细节的工作,如内存管理,应用托管,处理线程,安全检查等 。
CTS:公共类型系统Common Type System,CTS规范完整描述了运行库所支持的所有可能的数据类型和编程结构,指定了这些实体间如何交互,也规定了它们在.net无数据格式中的表示。
CLS:公共语言规范Common Language Specification:定义了一个让所有.net语言都支持的公共类型和编程结构的子集,避免一些特定的支持.net的语言可能不支持CTS所定义的所有特性。这样,如果构造的.net类型仅公开与CLS兼容的特性,那么可以肯定其他所有支持.net的语言都能使用它们。反之,如果使用了与CLS不兼容的数据类型或编程结构,就不能保证所有的.net语言能和你的.net代码库相交互。

.net基础类库BCL
不仅封闭了各种基本类型,如线程,文件输入输出,图形绘制以及与各种外部硬件设备的交互,还支持在实际应用中用到的一些服务。

C#是针对.net平台的一种新的编程语言,核心语法与JAVA类似,同属于C语言系列。
C#核心特征:
1.不需要指针。
2.能够自动管理内存。因此C#不支持Delete关键字
3.类,接口,结构,枚举和委托都有正式的语法结构
4.。。。。。。。。。。

Microsoft中间语言IL:平台无关性,提高性能,语言的互操作性(VB,VC++,Com和Com+)
中间语言的主要特征:
1面向对象和使用接口,
语言互操作性的 真正含义是用一种语言编写的 类应能直接与用另一种语
言编写的 类通信。 特别是:
●   用一种语言 编写的 类应能 继承 用另一 种语言编写的 类。
·   一个类应能 包含另一个类的 实例,而 不管两个类是使 用什么 语言编写的。
·   一个对象应能 直接 调用用其他语言编写的 另一个对象的 方法。
· 9嘭敷或对象的 引 用 )应 能 在方法之间 传递。
·   在不同的 语言 之间 调用方法时,应 能 在调 试器中 交替 调试这些方 法调用,即调试不同 语言编写的 源代码。
2值类型和引用类型之间的显著差异,
中间 语言也有数据存储的 规范:引 用类型的实例总是存储在一个名为“托管堆”的内 存区 域中,值类型一般存储在堆栈中 (但如果值类型在引用类型中声明为字段,它们就内 联存储在堆中 )。
3强数据类型化,
1)语言的互操作性,
2)垃圾收集
3)安全性
4)应用程序域
应用程序域(Application Domain)是分离组件的一种方式,它 不会导致因 在进程之间 传送数据而产
生的 性能问 题。 其方法是把任何一个进程分解到多 个应用程序域中。 每个应用程序域大致对应一个
应用程序,执 行的 每个线程都运行在一个具体的应用程序域中
4使用异常来处理错误,
5使用特性(Attribute)。
 

.net Framework 核心功能
1.对已有代码具有完全的互操作性
2.支持多种语言编程
3.所有支持.net的语言共享的公共运行时引擎
4.全面和彻底的语言集成
5.全面的基础类库
6.不关注Com底层操作
7.真正简批的部署模型

.net平台构造块:
CLR,CTS,CLS
CLR:公共语言运行库Common Language Runtime:为我们定位,加载和管理.net类型,同时也负责一些低层细节的工作,如内存管理,应用托管,处理线程,安全检查等 。
CTS:公共类型系统Common Type System,CTS规范完整描述了运行库所支持的所有可能的数据类型和编程结构,指定了这些实体间如何交互,也规定了它们在.net无数据格式中的表示。
CLS:公共语言规范Common Language Specification:定义了一个让所有.net语言都支持的公共类型和编程结构的子集,避免一些特定的支持.net的语言可能不支持CTS所定义的所有特性。这样,如果构造的.net类型仅公开与CLS兼容的特性,那么可以肯定其他所有支持.net的语言都能使用它们。反之,如果使用了与CLS不兼容的数据类型或编程结构,就不能保证所有的.net语言能和你的.net代码库相交互。

.net基础类库BCL
不仅封闭了各种基本类型,如线程,文件输入输出,图形绘制以及与各种外部硬件设备的交互,还支持在实际应用中用到的一些服务。

C#是针对.net平台的一种新的编程语言,核心语法与JAVA类似,同属于C语言系列。
C#核心特征:
1.不需要指针。
2.能够自动管理内存。因此C#不支持Delete关键字
3.类,接口,结构,枚举和委托都有正式的语法结构
4.。。。。。。。。。。

Microsoft中间语言IL:平台无关性,提高性能,语言的互操作性(VB,VC++,Com和Com+)
中间语言的主要特征:
1面向对象和使用接口,
语言互操作性的 真正含义是用一种语言编写的 类应能直接与用另一种语
言编写的 类通信。 特别是:
●   用一种语言 编写的 类应能 继承 用另一 种语言编写的 类。
·   一个类应能 包含另一个类的 实例,而 不管两个类是使 用什么 语言编写的。
·   一个对象应能 直接 调用用其他语言编写的 另一个对象的 方法。
· 9嘭敷或对象的 引 用 )应 能 在方法之间 传递。
·   在不同的 语言 之间 调用方法时,应 能 在调 试器中 交替 调试这些方 法调用,即调试不同 语言编写的 源代码。
2值类型和引用类型之间的显著差异,
中间 语言也有数据存储的 规范:引 用类型的实例总是存储在一个名为“托管堆”的内 存区 域中,值类型一般存储在堆栈中 (但如果值类型在引用类型中声明为字段,它们就内 联存储在堆中 )。
3强数据类型化,
1)语言的互操作性,
2)垃圾收集
3)安全性
4)应用程序域
应用程序域(Application Domain)是分离组件的一种方式,它 不会导致因 在进程之间 传送数据而产
生的 性能问 题。 其方法是把任何一个进程分解到多 个应用程序域中。 每个应用程序域大致对应一个
应用程序,执 行的 每个线程都运行在一个具体的应用程序域中
4使用异常来处理错误,
5使用特性(Attribute)。
 

 程序集:

程序集Assembly,是 包含编译好的、 面向 ,NET FmmeWork的 代码的 逻辑单元。程序集是完全 自 描述性的,它 是一个逻辑单元而不是物理单元,可 以 存储在多 个文件中 (动 态程序集的 确存储在内 存中,而不是存储在文件中 )。 如果一个程序集存储在多个文件中,其 中 就会有一个包含入口 点的 主文件,该 文件描述了 程序集中的 其他文件。程序集的一个重要特性是它们包含的 元数据描述了 对应代码中 定义的 类型和方法。 程序集也包
含描述程序集本身的 元数 据,这 种程序集元数据包含在一个称为“清单Manifest”的区域中,可 以检查程序集的 版本及其完整性。程序集可避免数据不一致性。程序集有两种类型:私 有程序集和共享程序集。共享程序集需要解决命名冲突及版本冲突即兼容性问题。

反射。

并行编程。

.net Framework 类库

.net基类库,方便直观易用。

范围:

1.IL提供的核心功能

2.Windows GUI支持和控件

3.Web窗体

4.数据访问ADO.net

5.目录访问

6.文件系统和注册表访问

7.网络和Web浏览

8..net特性和反射

9.访问Windows操作系统的各个方面。

10.Com互操作性。

创建.net应用程序:

1.Asp.net应用程序

  功能,Web窗体,Web服务器控件,Xml Web服务

2.创建Windows窗体

3.使用WPF

4.Windows控件

5.Windows服务

6.WCF

7.Windows WF

原文地址:https://www.cnblogs.com/gdx4430090/p/3154764.html