.NET概述

1、.NET技术体系结构
.NET平台是Microsoft在20世纪末为了迎接互联网的挑战而推出的应用程序平台。经过近年来的发展,它如今几乎可以在任何硬件平台上发挥作用,服务器、台式机、移动设备、游戏机、虚拟现实、增强现实环境、手表,甚至诸如Raspberri-Pi等类似的小型嵌入式系统都有它的身影。.NET可以用来构建和运行Windows应用程序、Web应用程序、Azure云应用程序、移动App应用程序、Unity游戏等。它建立在开放体系结构基础之上,集Microsoft在软件领域的主要技术成就于一身,如图:
.NET概述_第1张图片
.NET技术的核心是.NET Framework。它为.NET平台下的应用程序的运行提供基本框架,如果把Windows操作系统比作一栋摩天大楼的地基,那么.NET Framework就是摩天大楼中由钢筋和混凝土搭成的框架。为了实现跨平台运行的目标,Microsoft推出了.NET Core,其核心.NET Core Framework是参考.NET Framework重新开发的.NET实现。它支持Windows、macOS、Linux等操作系统,可以用于嵌入式或物联网解决方案中。为了使.NET应用程序能在诸如智能手机之类的设备之上运行,微软启动了mono项目。该项目可以看作是.NET Framework的开源实现。
Visual Studio.NET是.NET平台的主要开发工具,由于.NET平台是建立在开放体系结构之上的,所以应用程序开发人员也可以使用其他开发工具。
2、.NET Framework
.NET Framework具有两个重要组件:除了公共语言运行时CLR(Common Language Runtime)和BCL(Base Class Lib)基础类库,还包括ADO.NET、ASP.NET、WCF、Azure、Workflow框架等。
公共语言运行时的CLR是.NET Framework的基础,是应用程序与操作系统之间的中间人。它为应用程序提供内存管理、线程管理和远程处理等核心服务。在.NET平台上,应用程序无论使用何种语言编写,在编译时都会被语言编译器编译成MSIL(Microsoft Internediate Language,微软中间代码语言),在运行应用程序时CLR自动启用JIT(Just In Time)编译器把MSIL再次编译成操作系统能够识别的本地机器语言代码(简称本地代码),然后运行并返回运行结果,如图:
.NET概述_第2张图片
因此,CLR是所有.NET应用程序的托管环境。这种运行在.NET之上的应用程序被称为托管应用程序,而传统的直接在操作系统基础之中运行的应用程序则被称为非托管应用程序。
BCL类库是一个综合性的面向对象的可用重用类型集合,包括集合类、文件系统处理类、XML处理类、网络通信接口类、异步Task类等。利用BCL类库,开发人员可以开发多种应用程序,包括传统的命令行、图形用户界面(Grapical User Interface,GUI)应用程序、Web应用程序等。
ADO.NET是.NET Framework提供的微软新一代的面向对象的数据处理技术,利用它可以简便、快捷地开发数据库应用程序。
Asp.NET是.NET Framework提供的全新的Web应用程序开发技术,利用它开发Web应用程序,如同开发Windows应用程序一样简单。
WCF(Windows Communication Foundation)、WPF(Windows Presentation Foundation)以及Silverlight等技术是微软推出的全新的.NET技术。WCF可以理解为Windows通信接口,其整合了TCP/IP、XML、SOAP、JSON等技术,简化了XML Web服务的设计与实现。WPF为用户界面、2D/3D图形、文档和媒体提供了统一的描述和操作方法。Silverlight为开发具有专业图形、音频和视频处理的Web应用程序提供了全新的解决方案。
3、.NET Framework的优点
.NET Framework的最大特色就在于它为应用程序开发人员提供了一个真正与平台无关的开发环境。
(1)基于Web的标准
.NET技术完全支持现有的Internet技术,包括:

  1. HTML(Hyper Text Markup Language,超文本标记语言);
  2. HTTP(Hyper Text Transfer Protocol,超文本传输协议);
  3. XML(Extensible Markup Language,可扩展标记语言);
  4. SOAP(Simple Object Access Protocal,简单对象协议);
  5. XSLT(Extensible Stylesheet Language Transformation,可扩展样式表语言转换);
  6. XPath(XML Path Languang,XML路径语言);
  7. JSON(Javascript Object Notation,Javascript对象表示方法);
  8. 以及其他Web标准

(2)使用统一的应用程序模型
任何与.NET兼容的语言都可以使用.NET Framework类库。.NET Framework为Windows应用程序、Web应用程序、云计算服务、跨平台的智能手机应用提供了统一的应用程序模型,因此同一段代码可被这些应用程序无障碍地使用。
(3)便于开发人员使用
在.NET Framework中,代码被组织在不同的命名空间和类中,而命名空间采用树形结构,以便开发人员引用。开发人员若想调用.NET Framework类库的类,则只需将该类属性命名空间添加到引用解决方案中。
(4)可扩展类
.NET Framework提供了通用类型系统,它根据面向对象的思想把一个命名空间或类中代码的实现细节隐藏,开发人员可以通过继承来访问类库中的类,甚至于构建自己的类库。

你可能感兴趣的:(Visual,C#.NET)