第一章 .NET简介

第一章 .NET简介
1.1经典编程技术简介
    在.NET平台和C#语言出现之前,应用程序开发的市场中已经出现了众多的语言和技术,如C、C++、VB、JAVA、Fortran、CORBA等。
近些年以来,一些动态语言的出现也在不同程度上增加了编程语言的竞争,其中在Ruby、Python、Lua等。仅仅在.NET平台中就包括了VC#、VB.NET、VC++.NET、
VJ#等技术,通过一些其他的扩展工具如IronPython、IronRuby等还增加了Python、Ruby等动态语言的可能性。
    随着技术的发展和人们观念的更新,相信在编程技术的市场中还会出现越来越多的竞争者。在的应用程序开发中常用的技术就有超过20种之多、
1.1.1 C编程技术
   1.C语言摆脱了低级语言的限制
   2.C语言是一门结构化语言
   3.C语言功能强大
   4.C语言可移植性好
   5.C语言应用案例多
1.1.2 C++编程技术
   1.C++保持了与C语言的兼容
   2.C++对传统C语言进行了增强
   3.C++的执行效率高
   4.C++提供了异常处理机制
   5.C++支持面向对象
   6.C++提供了模板机制
1.1.3 VB6.0编程技术
   1.VB6.0易于使用和开发
   2.VB6.0拥有大量可视化组件
   3.VB6.0支持通过属性和事件时行编程
   4.VB6.0提供基本的面向对象支持
1.1.4 JAVA编程技术
   1.JAVA的简单性
   2.Java的分布特性
   3.Java的可靠性
   4.Java的可移植性
   5.Java的解释执行和性能
   6.Javar的多线程
1.1.5 Python编程技术
   1.Python的开源、免费本质
   2.Python的高层语言特性
   3.Python的可移植性
   4.Python的面向对象特性
   5.Python的可扩展性和可嵌入性
   6.Python的库
1.1.6 .NET平台编程
   1. .NET实力雄厚
   2. .NET平台支持的语言众多
   3. .NET各语言的可互操作特性
   4. .NET的通用性
1.2 .NET平台
   1.2.1 .NET平台框架
   .NET平台的基本原理 (C#、其他语言)--(语言规范)--(Web应用、Windows应用)--(ADO.NET)--(基础类库)--(Common Language Runtime)--
(操作系统)--(硬件)
1.2.2 C#类库简介
   1.数据访问类
   2.窗体类
   3.安全类
   4.XML类
   5.线程类
   6.输入输出类
   7.Web类
   8.其他
1.2.3 C#的特点
   1.无需指针
   2.自动内存管理
   3.支持泛型
   4.单继承
   5.支持反射
1.2.4 其他.NET编程语言
   1.VB.NET  2.VC++ 3.VJ# 4.还有COBOL,Fortran和Smalltalk等。还有一些崭新的语言。通过不同的支持,一些当前
比较流行的语言如Delphi、Python和Ruby等也能在一定程度上与.NET互动.
1.2.4 多语言混合编程
   由于.NET采用的是统一的框架,.NET所支持的各种语言之间可以互相进行调用,因此同一项级的成员可以是同保用不同编程语言的开发人员构成.
1.2.6 .NET 程序集简介
   .NET应用程序集的生产过程.(VB.NET、VC#、托管C++)--(编译器)--(公共语言框架)--(中间代码)--(公共语言运行时)
   由各种编程语言编写的代码首先经过建立在公共语言框架基础之上的各自的编译器进行编译,随后形成中间人世间,这些中间代码再由公共语言运行,
此时即可看到用户所熟悉的应用程序。
1.3.7 .NET的平台无关特性
   应用程序在开发完毕进行编译之后就与具体的语言无关了,而在运行时只与公共语言运行时在关,微软开发的.NET平台目前在各个系列的Windows平台
上运行良好,可以支持各种.NET平台编程语言开发的应用程序。
   在其他平台上应用比较广泛的.NET平台是开源和免费的Mono,Mono目前支持的平台有如下几种。
   1.Mac OS X:苹果系列电脑采用的操作系统。
   2.Solaris:一各类似于UNIX的操作系统。
   3.SuSE Linux:基于Linux的操作系统。
   4.Red Hat:一种使用较为广泛的Linux操作系统。
   5.Nokia部分移动平台:支持部分Nokia的移动平台,多为Tablet系统。
   6.另外还支持其他的一些操作系统。
在微软的.NET平台和Mono平台相结合的情况下,.NET平台开发的应用程序可以方便地在各种操作系统中运行。彻底地实现了平台无关的特性。
1.3 CIL技术
  1.3.1 CIL简介
  CIL的全称是Conmon Intermediate Language,即公共中间语言。.NET平台上所有编程语言的源代码都将编译为该公共中间语言,即CIL,公共中间语言是与系统底层
无关的。这也是.NET平台应用程序与平台无关特性的基础。公共中间语言的代码类似于汇编语言,直接阅读不是十分方便。
1.3.2 CIL的优点
  在其他的语言代码被编译时,往往是根据具体的应用平台编译相关的代码,另外各个语言被编译出来的代码也不相同,因此这些编程语言之间是不能互通的。
.NET作为一个统一的平台,将各种支持.NET平台的语言整合到自己的框架内,把由各种语法规则定义的源代码统一编译为CIL代码,既可以使用各个
语言互相操作,又可以使用各种语言语法充分地享受.NET平台本身具有的其他优点,如平台无关等特性。
1.3.3 CIL与具体平台
   公共中间语言是由.NET平台定义的一套中间语言,实际上离计算机可以处理的代码还有一定的距离。当编译好的公共中间语言代码在各个具体的
平台上应用时,还需要一定步骤的转换,这个转换工作就是由另一个被JIT的编译器完成的,其中JIT的含义为Juat In Time,也就是即时的意思。
   当.NET平台开发的应用程序被部署到具体的平台中后,在该应用程序执行之前,JIT编译器将其转换为计算机可以处理的指令集,JIT编译器是
另一个与用户无关的技术,用户无须关注JIT编译器的技术细节,更不必关注JIT编译器运行的平台。
1.3.4 类型元数据简介
   .NET中的数据类型在基CIL代码中也有不同的定义和表达方式。其中分别定义了Main方法、Square方法和构造函数的相关信息。通过此处的定义,
编译器就可以准确地知道每个应用程序中各个方面的信息,因此一般的.NET应用程序无需进行系统注册之类的操作,只需拷贝运行即可。另外,通过在应用
程序中存储元数据信息,可以有效地进行反射等运行时操作,为应用程序的扩展带来了方便。
1.3.5 程序集清单简介
   程序集清单中包含程序集中各个模块的信息和一些通用的信息。
1.4 CTS技术
   在应用程序的开发过程中都会或多或少地涉及变量和数据,这些数据一般都具有不同的数据类型。从简单的数据类型,如整形、浮点型,到一些
复杂的数据类型。如类、结构。接口等。.NET中保用一种叫做CTS(Common Type System,通用类型系统)规范数据的组织形式和公共语言运行时处理数据的标准。
1.4.1 类(class)
   类是面向对象编程技术的基础,所有的支持面向对象的语言都支持类这种基本的数据结构。C#也不例外,类由关键字class声明。
1.4.2 结构(struct)
   结构也是一种复杂的数据结构,在面向对象的理念出现之前,如C语言中就使用结构来表示一些复杂的数据。结构使用struct来声明。
1.4.3 接口(interface)
   C#不允许使用多重继承,因此大量使用接口成为一种必然。接口可以看作是一种类型,但其代码中只有定义,没有实现,接口的定义使用interface关键字。
1.4.4 枚举(enum)
   枚举经常常用于将一些无实际含义的数字表示为有字面的意义的变量,使得程序中定义的变量更容易让用户理解。枚举用enum进行声明。
1.4.5 代理(delegate)
   代理可以看作是一种变通的指针,早于C#中不存在指针,因此使用了代理进行替换。于指针而言,代理更安全,也更可靠。代理关键字delegate声明。
1.4.6 内建数据类型
   .NET平台的内建数据类型非常多。
1.5 其他概念
1.5.1 CLS技术
CLS的全称是Common Language Sepcification,即公共语言规范。CLS是一种复杂和有趣的技术,CLS将.NET上各种语言统一起来。在.NET上开发新的语言时也
要根据CLS的标准进行。
1.5.2 CLR技术
   CLR的全称是Common Language Runtime,即公共语言运行时。这类运行时框架方根负责应用程序运行的相关服务,如JAVA的JVM、VB、的VB运行时等。
.NETR的 CLR主要是由mscoree.dll提供,该文件名的含义是Microslft Common Object Runtime Execution Enging.即由该dll文件将应用程序所需
的类库等相关文件加载到内存中,满足应用程序执行时的相关需求。
1.5.3 .NET的命名空间
   .NET的类库非常丰富,类库的组织是以命名空间为基础的。
1.5.4 访问命名空间
   命名空间使用方根有两种方式,一种地在代码的头部进行引用,另外一种是在代码 中给出全称。
1.5.5 引用外部程序集
   在进行.NET应用程序开发进,可以方便地引用由他人提供的外部程序集,如类库等。
1.6  ildasm实用工具
1.6.1 查看CIL代码
使用ildsm打开一个C#编写的应用程序即可查看其CIL代码。
1.6.2 查看类型元数据
在ildsm的界面中选择“视图”--“元信息”--“显示”,即可查看应用程序的类型元数据。
1.6.3 查看程序集数据
1.7 部署.NET运行,安装.NET Framework
1.8小结
通过本章的学习,应该对如下内容有所认识和掌握:.NET的基本概念。构成.NET平台的几种关键技术。CIL和CTS等概念。 ildsm实用工具的简单使用。

posted on 2011-02-04 11:33  覃杰武 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/qinjiewu/archive/2011/02/04/1949121.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值