zoukankan      html  css  js  c++  java
  • .NET设计技术特性简介

         一、 在服务器端WEB开发技术不断发展进步的同时,客户端程序设计方式也在变得更加流行。Web开发人员开始尝试各种不同的方法以增强Web页面的功能和效果,这些应用程序被完全下载到客户端的浏览器中,并在本地计算机的浏览器中执行。客户端技术的最大问题在于:各种操作系统和不同的浏览器并非完全兼容这些客户端技术,有时甚至需要发布对客户端浏览器的更新。换句话说,客户端程序设计模型牺牲了Web开发本身最重要的优势。

          ASP.NET设计作为服务器端的技术,所有ASP.NET代码都在服务器端执行,其特点为:

    • 与服务器隔离(lsolation):客户端的代码无法访问服务器端的资源,比如数据库,服务器端开发模型至少避免了陷入安全问题和浏览器的兼容问题。
    • 安全性:在客户端程序设计模型中,最终用户将可以看到客户端的代码。一旦有恶意的用户理解了应用程序的运行方式,就可以篡改客户端应用程序。
    • 瘦客户端:随着因特网的不断演变,支持Web访问的设置,比如移动电话、掌上型电脑以及PDA正如雨后春笋般出现,这些设备可以和Web服务器进行通信,但不完全支持传统浏览器的所有特性。瘦客户端可以访问给予服务器的Web应用程序,但却并不支持诸如JavaScript之类的客户端特性。

          但是客户端程序设计并不会完全消亡,许多优秀的ASP.NET控件能够智能地检测客户端浏览器的特性。如果客户端浏览器支持JavaScript,则这些控件将生产包含了JavaScript代码的页面,以向客户端浏览器返回外观更丰富、更具有交互性的页面。但是无论浏览器的兼容性如何,ASP.NET的代码将总是在服务器端执行。客户端代码的装饰,仅仅是蛋糕上点缀的霜糖而已。

         二、 .NET Framework实际上是一簇各种技术的集合,这些技术包含以下内容:

    • .NET语言:在NET中支持多种语言,比如Visual Basic、C#、JScript.NET、J#、和C++。 开发人员也可以使用第三方提供的某种.NET语言,关于第三方语言更多的信息,请参考www.dotnetlanguages.net
    • 通用语言运行时(Common Language Runtime,CLR):是所有.NET语言的执行引擎,为各种应用提供的自动化的服务。
    • .NET Framework 类库:该类库包含了数千个预置功能的类,我们可以将这些类作为构建应用程序的基石,在程序中引用这些类的功能。
    • ASP.NET:所有在.NET中创建的Web应用程序,都以ASP.NET作为执行引擎或运行平台,ASP.NET还支持绝大多数.NET类库所支持的特性。另外,ASP.NET还包括一组专门用于Web开发的特殊服务。
    • Visual Studio:可选的软件开发集成工具,包含了大量提高软件生产率和支持软件调试的工具及特性。

          对于ASP.NET这个术语,在狭义范围内指的是.NET类库中专门用于设计Web页面那一部分类库。但是另一方面,ASP.NET也可以用来泛指所有与.NET Web应用程序开发相关的技术。到目前为止,ASP.NET已经发布了四个主要版本,ASP.NET1.0;ASP.NET1.1;ASP.NET2.0;ASP.NET3.5。具体每个版本更新内容均在前一版本基础上添加一些更高的层次的新特性,以提高ASP.NET程序开发的生产率。

                                                                                                            NET Framework结构

          三、c#、VB和.NET语言:任何的C#代码都可以逐行地转换为等价的VB代码,反之亦然。尽管偶尔会出现一点语言之间的微小差异,但是就绝大部分内容而言,学过了一种.NET语言的开发人员可以快速而高效地迁移到另一种.NET语言。所有的.NET语言都将被编译为另一种更底层的语言,通用中间语言(CIL或IL,common Intermediate Language)。

    .NET中.NET语言的编译过程

          CLR是.NET的执行引擎,仅支持IL的代码。由于所有的.NET语言都是基于IL来设计的,.NET语言具有极高的兼容性。通过通用语言规范(CLS,common Language Specification)来规范化.NET语言的兼容性,本质上CLS是一种约定,遵循这种约定的话,就可以保证用一种.NET语言所编写的组件能够被其他所有.NET语言使用。CLS的一个重要组成部分是通用类型系统(CTS,Common Type System),其定义了所有.NET语言通用的数据类型的规范,还定义了.NET语言中面向对象的语言要素。

          CLR还蕴含了以下较为广泛的内容:

    • 深度语言集成:因所有的.NET语言都编译为中间语言(IL),也就是说CLR消除了不同.NET语言之间的差异,实际上CLR并不知道最初用来创建可执行文件的何种语言。这已远远超过了语言之间的兼容性,即深度语言集成。
    • 并行执行(Side-by-side execution):每次加载一个组件的多个版本,同一台计算机上可以安装多个不同版本的.NET Framework,原来的应用程序依然可以在原有版本上运行,同时再安装一个新版本,可以对新程序进行开发。
    • 更少的错误:CLR能够有效的消除很多常见的错误,主要是针对底层语言容易出现的编译错误。
    • 性能:由于CLR需要CPU进行密集运算,在性能上没有C++之类语言直接涉及底层的程序速度快,在高要求的应用程序中会有影响(及时游戏),但是Web应用程序由于系统瓶颈往往与访问外部资源的速度紧密相关,.NET可以编写上乘的数据库访问代码,再加上缓存功能,可以保证任何Web应用程序具有卓越的性能。
    • 代码的透明性:IL非常容易反编译,但是由于.NET编写的Web应用程序并不会向用户发布,均部署到一台安全的Web服务器上,所以影响不大。
    • 对跨平台支持的疑问:由于.NET结合了许多Windows平台和操作系统专有的技术和特性,因此.NET可能并不会像其他语言那样具有广泛的平台支持。

          由于机器代码依赖于包括CPU在内的几个特定因素,其并不适合部署到其他计算机上,因为无法保证其他计算机也使用了相同的中央处理器,所以.NET编译器不将.NET语言代码直接编译为机器代码。

          四、.NET类库:微软的原则是尽可能多的提供各种软件基础设施和功能,以使得应用程序开发人员仅需要编写少量业务逻辑层面上的代码。包括Web应用程序、桌面应用程序等。同时微软提供了Visual Studio开发工具用于提供功能丰富的软件集成开发环境,可以快速的创建高级应用程序,其包含了大量的高级特性:

    • 页面设计:通过拖放控件的方式来创建充满魅力的Web页面,而且开发者不需要完全精通HTML。
    • 自动错误检测:提供检查错误并提供错误报告。
    • 调试工具:通过调试工具,可以监视代码的实际运行、跟踪变量的值。
    • 智能感知:提供语句补全功能,并自动列出该对象的属性、方法等信息。

    以上内容整理至《ASP.NET3.5 从入门到精通(C#2008版)》

  • 相关阅读:
    洛谷 U140360 购物清单
    洛谷 U140359 批量处理
    洛谷 U140358 操作系统
    洛谷U140357 Seaway连续
    洛谷 U141394 智
    洛谷 U141387 金
    CF1327F AND Segments
    刷题心得—连续位运算题目的小技巧
    CF743C Vladik and fractions
    洛谷 P6327 区间加区间sin和
  • 原文地址:https://www.cnblogs.com/shanymen/p/2025657.html
Copyright © 2011-2022 走看看