C#高级编程读书笔记之.NET体系结构


不能孤立地使用c#语言,而必须和.NET Framework一起考虑。

C#的结构和方法反映了.NET基础方法论。
在许多情况下,c#的特定语言功能取决于.NET的功能,或依赖于.NET基类。

1.1 c#与.NET的关系
(1) c#是专门为与Microsoft的.NET Framework一起使用而设计。
(2) 基于现代面向对象设计方法的语言。
1.2 公共语言运行库
.NET Framework的核心是其运行库的执行环境,称为公共语言运行库(CLR)或.NET运行库。通常将在CLR的控制下运行的代码称为托管代码。
在.NET中,编译分为两个阶段:
(1)把源代码编译为MSIL。
(2)CLR把MSIL编译为平台专用代码。
托管代码的优点:
(1) 平台无关性
(2) 提高性能(需要时才编译(JIT)),编译一次多次执行(直到应用程序退出)。
(3) 语言的互操作性。
1.3 中间语言
面向.NET的所有语言在逻辑上都需要支持IL的主要特征。
下面是中间语言的主要特征:
(1) 面向对象和使用接口
(2) 值类型和引用类型之间的巨大差别
(3) 强类型数据
(4) 使用异常来处理错误
(5) 使用特性(attribute)
1.3.1 面向对象和接口支持
微软为IL选择的特定道路是传统面向对象的编程,带有类的单一继承性。
语言的互操作性的真正含义是用一种语言编写的类应该直接与用另外一种语言编写的类通信。
1.3.2 相异值类型和引用类型
1.3.3 强数据类型
中间语言的一个重要方面是它基于强数据类型。中间语言一般不允许对模糊的数据类型执行任何操作。
1.3.4 通过异常来处理错误
1.3.5 特性的使用
1.4 程序集
程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元(不是物理单元)。
程序集的一个重要特性是它们包含的元数据描述了对应代码中定义的类型和方法。程序集也包含描述程序集本身的元数据。
程序集有两种类型:共享程序集和私有程序集
1.4.1 私有程序集
私有程序集是最简单的一种程序集类型。私有程序集一般附带在某个软件上,且只能用于该软件。
1.4.2 共享程序集
共享程序集是其它应用程序可以使用的公共库。
1.4.3 反射
因为程序集存储了元数据,包含在程序集中定义的类型和这些类型成员的细节,所以可以编程访问这些元数据。这个技术称为反射。
1.5 。NET Framework类
从开发人员的角度看,编写托管代码的最大好处是可以使用.NET基类库。
.NET基类是一个内容丰富的托管代码集合,它可以完成以前要通过Windows API来完成的绝大多数任务。
.NET2.0和3.0基类包括:
IL提供的核心功能,例如,通用类型系统中的基本数据类型。
Windows GUI支持和控件
Web窗体(ASP.NET)
数据访问(ADO.NET)
目录访问
文件系统和注册表访问
网络和Web浏览
.NET的特性和反射
访问Windows操作系统的各个方面(例如环境变量等)
COM的互操作性
大部分.NET基类实际上都是用c#编写的。

1.6 命名空间
命名空间是.NET避免类名冲突的一种方式。
1.7 用c#创建.NET应用程序
1.7.1 创建ASP.NET应用程序
1、ASP.NET 的特性
ASP.NET的页面是结构化的,每个页面都是继承了.NET类的System.Web.UI.Page的类。
2、Web窗体
3、XML Web服务
1.7.2 创建Windows窗体
1.7.3 使用Windows Presentation Foundation(WPF)
WPF在建立 应用程序时使用XAML。XAML表示可拓展的应用程序标记语言。
1.7.4 Windows控件
1.7.5 Windows服务
Windows服务是一个在微软操作系统后台运行的程序。
1.7.6 Windows Communication Foundation(WCF)
1.8 c#在.NET企业体系结构中的作用

posted on 2009-04-02 08:46  边写边唱  阅读(369)  评论(0编辑  收藏  举报

导航