首页 > Web开发 > 详细

.NET之道

时间:2019-03-29 00:35:07      阅读:152      评论:0      收藏:0      [点我收藏+]

1.1初识.NET平台  

        在微软发布C#语言和.NET平台之前,为Indows操作系统家族创建创建应用程序的开发者常常使用COM编程模型。COM(Component Object Model,  组件对象模型)允许个人构建可由不同编程语言共享的代码库。例如,Vi算了Basic开发者可以使用C++程序员构建的COM库。COM的语言无关特点自然十分有用,但它复杂的基础结构、脆弱的部署模型常常带来很多麻烦,并且只能部署在Windows操作系统上。

       尽管COM有很多的复杂性和局限性,但不计其数的应用程序还是成功的构建于这个基础结构之上。然而在今天,大多数Windows操作系统家族创建的应用程序都不是用COM模型构建的,桌面应用、网站、操作系统服务、数据访问或业务逻辑复用库都是使用.NET平台构建创建的。

.NET平台的主要优点

       C#和.NET平台是2002年正式发布的,当时主要为了提供一种比COM更强大、更灵活、更简洁的编程模型,.NET Framework用于在Windows系列操作系用和其他诸如Mac OS X或Unix/Linnux等非微软的操作系统中创建系统,接下来我们先来快速浏览一下.NET Frame的一些核心功能。

1、对已有代码具有完全的互操作性:这(当然)是一件很好的事情。已有的COM二进制组件可以和更新的.NET二进制组件共存,反之亦然。在.NET4.0及后续版本,使用dynamic关键字可以进一步简化这种互操作性。

2、支持多种编程语言:使用多种编程语言(C#、Visual Basic、F#等)创建.NET应用。

3、所有支持.NET的语言共享的公共运行时引擎:这个引擎的一个特点是具有一组明确定义的类型,而一种支持.NET的语言都能"明白"这些类型。

4、语言集成:.NET支持跨语言的继承、异常处理和代码调试。比方说,C#中定义的基类可以在Visual Basic进行扩展。

5、全面的基础类库:这个库隐藏了原始API调用的复杂性,还提供了被所有支持.NET的语言所使用的一致的对象模型。

6、简化的部署模型:与COM不同,.NET库不需要将二进制单元注册到系统注册表了。另外,.NET允许同一个*.dll的不同版本存在于同一台机器上。

 

1.2 .NET平台构造快(CLR、CTS和CLS)简介

      了解了.NET的有点之后,让我们来预览一下使.NET成为现实的3个关键(而且相互关联)实体:CLR、CTS和CLS。从程序员的角度来看。.NET可以理解为一个运行环境和一个全面的基础类库。运行库层的正式名称为CLR(Commom Language Runtime  公共语言运行库)。其主要作用是为我们定位、加载和管理.NET类型,同时也负责一些底层细节的工作,如内存管理、应用托管、处理线程’安全检查等

     .NET平台的另一个构造块是是CTS(Commom Type System,公共类型系统)。CTS规范完整描述了运行库所支持所有可能的数据类型和编程结构,指定了这些实体间如何交互,也规定了它们在.NET元数据格式中的表示。

      要注意的是,一种特定的支持.NET的语言可能不支持CTS所定义的所有特性。CLS(Common Language Specification,公共语言规范)是一个相关的规范,定义了一个让所有.NET语言都支持的公共类型和编程结构的子集。这样,如果构造的.NET类型仅公开与CLS兼容的特性,那么可以肯定其他所有支持.NET的语言都能使用它们。反之,如果使用了与CLS不兼容的特性,就不能保证所有的.NET语言能和你的.NET代码库交互。庆幸的是,让C#编译器遵从CLS来验证代码是十分简单的。

1.2.1基础类库的作用

     除了CLR和CYS/CLS规范之外,.NET平台提供了一个适用于全部.NET程序语言的基础类库(BCL)。这个基础类库不仅封装了各种基本类型,如线程、文件输入/输出(I/O)\ 图形绘制以及与各种外部硬件设备的交互,还支持在实际应用中用到的一些服务。

    例如,基础类库定义了一些可创建任意类型软件应用程序的类型,例如,使用ASP.NET创建Web站点,使用WCF创建网络服务,使用WPF创建桌面GUI应用程序,等等,基础类库还定义了另外一些类型,可以与特定计算机上的XML文档、本地目录和系统文件系统互动,通过ADO.NET与关系数据库交流,等等,今天先介绍到这,下一次介绍C#的优点,最后附上 CLR、CTS、CTS和基础类库的关系图。渣渣画图差,别介意 哈哈哈哈~~~~~~~~~

 

技术分享图片

 

.NET之道

原文:https://www.cnblogs.com/2416-shj/p/10618557.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!