1.1 .NET平台基础
微软的.NET 平台核心是一系列新的集合,称为.NET Framework,我们通常会查阅的Framework就是.NET Framework。这个框架集提供了一个既可快速开发基于windows的程序,也可快速开发Web应用程序的平台。.NET Framework 提供两个主要的组成部分,通用语言运行库(CLR)和框架类库(FCL).
像许多新技术一样,有许多术语和缩写需要理解,所以我们在接下来的几部分里将介绍和解释许多在Framework里重要的术语和缩写。
1.1.1 通用语言运行库(CLR)
CLR是为.NET Framework所编写的代码的执行环境。CLR管理着.NET代码的执行,包括了内存的分配和垃圾的回收(避免内存泄露问题),安全性(包括对不同来源的代码应用不同的信任度),线程管理,强类型和其他一些任务。
只要.NET支持的语言,CLR都能运行,所以不需要为每种语言配一种单独的运行库。每种.NET语言被各自的编译器编译(例如Visual Basic .NET 编译器)成中间语言(IL).在运行时,中间语言被CLR实时编译(JIT)成本机的机器语言(CLR运行的机器).这种编译方法提供了一种灵活的方法,使我们可以在使用不同语言写代码的时候仍然可以保持本机执行的速度。
1.1.2 .NET Framework 类库(FCL)
FCL 是一系列可重用的面向对象的类,提供了基本平台的功能,从存取数据库的类ADO.NET,到文件系统模块的类(包括文件,目录和流等类),到允许我们方便的实现DNS解析,WHOIS查找和其他网络相关功能的类的网络类库。开发者们可以直接使用这些基类或者继承这些类来实现一些定制的功能。
FCL当然也封装了所有ASP.NET类。这包括了所有的ASP所有内部对象的功能,除此之外还提供了更多的功能,像提供了丰富的缓存输出和数据引擎,还有ASP.NET服务器组件模型。这些功能模块使ASP.NET很容易做到以控件为基础开发,这对VB开发者来说是很熟悉的。
除了提供Web应用程序的开发外,FCL还提供了控制台应用程序,Windows应用程序,Windows NT或Windows 2000服务等的开发。
1.1.3 通用类型系统(CTS)
CTS描述了CLR所支持的数据类型集合,这既包括了值类型(包括简单数据类型,像Byte,Int16和Boolean等),还包括了参考类型(包括了arrays,classes,对象和字符串类型)。
值类型是直接把值存储在内存中的,可以直接用名字来取得其值,看以下一段代码:
'VB.NET
Dim myFloat As Single
myFloat = 3.1415
// C#
float myFloat;
myFloat = 3.1415;