微软.NET平台的介绍外文翻译资料

 2023-08-04 07:08

Introduction of the Microsoft .NET Platform

  1. Introduction

The .NET platform is the foundation upon which the next generation of software will be built. Microsoft has invested a lot of capital in its development and attempted to make it as the new standard. A list of Microsoft partners has also supported .NET tools and components. You can check http://msdn.microsoft.com/vstudio/partners for a current list of vendors who have .NET offerings.

The .NET platform is anything more than a mere new language, software development kit (SDK), or even an operating system. It offers powerful new services, a new processor-independent binary format, new managed languages, managed language extensions to existing languages, and so forth. Effectively using these new tools makes possible a firm background of the platform that will enhance your applications.

In this chapter, we take a look at the various components of the .NET platform. We not only introduce the concept and technology, but explain the terminology used to describe them as well. This will enable you to have a strong understanding of the internal workings of the .NET platform, thus reaping more benefits from the following chapters.

Introduction of the .NET Platform

The precept behind the .NET platform is the shift from one of PCs connected to servers through networks such as the Internet, to one where all manner of smart devices, computers, and services work together to provide a richer user experience. The .NET platform is Microsoftrsquo;s answer to the challenges this change will provide to software developers.

How many components the .NET platform have? Different people have different answers. Servers such as BizTalk and SQL Server, as well as services such as .NET My Services and its first visible component, .NET Passport, are being described by some as integral parts of the .NET platform. Nonetheless, the .NET Framework, as far as many of us are concerned, can be anything that we can imagine when referring to .NET. It comprises Visual Studio.NET (VS.NET), the .NET Common Language Runtime (CLR), and the .NET Base Class Libraries (BCL). The other components may be required by specific applications, but they are not the necessary part of all .NET applications.

Looking at the overall architecture, .NET consists of three primary components:

■ The .NET Framework A completely new application development platform.

■ Several .NET products Various applications from Microsoft based on the .NET Framework, including new versions of Exchange and SQL Server, which are Extensible Markup Language (XML)–enabled and integrated into the .NET platform.

■ Several .NET services Provided by Microsoft for developing applications running under the .NET Framework. Microsoftrsquo;s Hailstorm project actually attempts to package some of the most crucial Web Services under the Microsoft brand name.

The .NET Framework itself can be divided into three parts:

■ The CLR A managed execution environment that handles memory allocation, error trapping, and interacting with the operating-system services.

■ The Base Class Library An extensive collection of programming components and application program interfaces (APIs).

■ Two top-level development targets One for Web applications (ASP.NET) and the other for regular Windows applications (Windows Forms)

The advantages offered by the .NET Framework include shorter development cycles (code reuse, fewer programming surprises, support for multiple programming languages), easier deployment, fewer data type-related bugs due to integral type safety, reduced memory leaks attributed to the garbage collector, and, in general more scalable, reliable applications.

Microsoft .NET and Windows DNA

If the propagation regarding .NET sounds familiar, therersquo;s a good reason: The .NET platform is the next generation of Windows DNA. However, although Windows DNA offer some of the building blocks for creating robust, scalable, distributed systems, it generally had little substance in and of itself.

Windows DNA was a technical specification that focused on building software based on Microsoft server products, utilizing numerous technologies and languages (ASP, HTML, JavaScript, MTS, COM, and so on), many of which are quite unrelated from a developerrsquo;s point of view. The servers and languages involved all have varying APIs and type systems, making interoperability a challenge at best. Herein lies the big difference: .NET is much more than a specification. A product in its own right, it includes the tools and languages required to make developing these types of n-tiered applications easier, neatly packaged as a single coherent and comprehensive API.

Microsoft .NET Architecture Hierarchy

The compile of .NET families of languages are, in essence, different from the output of Microsoft Intermediate Language (MSIL, or just IL) rested on the Common Language Specification. The primary types of application development are Web Forms, Web Services, and Windows Forms applications. These applications communicate by way of using XML and Simple Object Access Protocol (SOAP), getting their functionality from the Base Class Library and running within the Common Language Runtime environment. Visual Studio .NET is not required in order to develop .NET Framework applications; but it does offer an extensible architecture that makes it an ideal choice for developing .NET software.

Features of the .NET Platform

The core of the .NET platform is founded on the Common Language Runtime, Base Class Library, and the Common Language Specification. The .NET Base Class Library exposes the features of the Common Language Runtime in much the same way that the W

剩余内容已隐藏,支付完成后下载完整资料


微软.NET平台的介绍

1.简介

Microsoft在创建.NET上已经投入了数十亿美元并进行了多年的研究,并且将极大可能考虑把它作为新兴的标准。许多微软的伙伴也宣布支持NET工具和部件——你可以浏览http://msdn.microsoft.com/vstudio/partners上的供应商表来查看。

.NET平台能提供强大的新服务,新的独立于处理器的二进制格式,新的管理语言,现有的语言扩展的管理语言,这样的例子不胜枚举。没有良好的操作背景是不可能有效地使用这些新工具的来运行你的应用程序。在这一章中,我们来看一看.NET平台的各个组成部分。我们不仅介绍他们的技术和概念,而且还要用专业术语去解释它们。这将使你对.NET平台的内部工作有一个深入的了解,并在接下来的章节中能有更多的收获。

NET平台简介

.NET平台的所处的背景是:世界正在从个人电脑连接到一个服务器(比如互联网)中改变到一个地方的所有职能设备、电脑和服务协同工作中能为用户提供更丰富的体验。.NET平台是微软为软件开发人员给这种改变提供的解答。.NET平台到底有几个组成部分,每个人都会给你不同的答案。比如微软的商务对话和结构化查询语言以及.NET中的我的服务,它们中的第一个可见组件.NET通行证通常被视为.NET平台的有机组成部分。然而,对很多人来说,.NET框架是当.NET被提到时我们想象中的样子。它包括VS.NET,.NET公共语言库(CLR)和.NET基类库(BCL)。其他组件可能会要求特定的应用,但它们不是所有.NET应用程序的必要组成部分。

下面来看.NET的整体结构,它由这几个个主要部分组成:

■ .NET框架 一个全新的应用开发平台。

■几个.NET产品 多重基于.NET框架的应用,包括新版本的并由可扩展标记语言(XML)在.NET平台上的集成交互和结构化查询语言(SQL)服务器。

■几种.NET服务 它是由微软为在.NET框架开发应用程序使用的。微软的Hailstorm实际上是一个囊括了微软品牌的最重要网站某些服务的计划。

■公共语言库 托管执行环境,处理内存分配,捕获错误,并与作业系统服务进行交互。

■基类库 对组件的编程和应用程序接口(API)的广泛的收集。

■两个最高发展目标 一个用于Web应用程序 (ASP.NET),另外一个用于普通的Windows应用程序(Windows 表格) 。

由.NET框架提供的好处包括:缩短开发周期(减少代码重用,减少编程意外,多种编程语言的支持),更简单的配置,由于整体式安全性而导致更少的数据类型相关的错误,由于垃圾回收器的存在而引起内存泄漏的减少,而且,具有一般的更具可扩展性、可靠性的应用程序。

微软的.NET和WINDOWS的基因

.NET周围中的一些营销宣言听起来很熟悉:.NET平台被称为WINDOWS基因的下一代。不过,虽然视窗系统的基因确实提供了健壮的,可扩展的,分布式系统的基石,但是对一些人来说其本身并没有什么实质性。

Windows DNA的是一种技术规范,重点是对微软服务器产品的基础建设,利用多种技术和语言(ASP,HTML,JavaScript,MTS,COM等等),其中有相当多是与开发无关的。这些服务器和语言包括不同的API和系统,使互操作性达到最好。.NET与其有很大的不同:它不只是一个规范。在它的好的产品中,它包括语言所需要的工具和发展,使n层应用这些类型更容易,整齐地作为一个单一的连贯和全面的API封装。

微软 .NET体系结构

从本质上讲,根据公共语言规范,.NET语言编译的种类和微软中间语言(MSIL,或者只是IL)的输出是不同的。应用程序开发的主要类型是Web窗体,Web服务和Windows窗体应用程序。这些应用程序使用XML和简单对象访问协议(SOAP)进行通信,从而使得他们能在基类库中继承并能在公共语言中运行。 Visual Studio.NET不仅是为了发展需要.NET Framework应用程序,而且它还提供了可扩展的架构,从而使之成为发展.NET软件的理想选择。

.NET平台的特点

.NET平台的核心是在公共语言库,基类库,和公共语言规范中发现的。 .NET的基类库用相同的方法揭露了公共语言库的功能,这样,Windows API允许你利用的Windows作业系统的特点的共同语言运行库的功能。而且,它也提供了许多更高级别的功能,促进代码重用。

这种架构提供了许多好处,至少一个很大的数目一致的API。通过书面形式向公共语言运行库和使用.NET基础类库,所有的应用服务是通过一个共同的面向对象编程模型提供。今天,一些操作系统的功能是通过调用DLL的访问使用基于C的API和其他设施,通过访问COM对象,从而使开发人员的工作更加简捷,使一切顺利。某些功能只提供给开发人员在低层次的语言工作,从而迫使他们设计决策。

这种新的编程模型大大简化了那些需要编写Windows DNA应用程序的工作或为了完成应用程序的几乎所有Win32和COM项目的工作难度。开发人员不再需要有一个对GUIDS、调用、释放、HRESULTS等等有着深入了解的Windows或COM的大师。.NET也不是隐藏在开发这些之中,在新的网络平台上,这些概念根本不存在的。

另一个为.NET开发人员带来极大的好处是其错误异常处理模型。为Windows开发平台软件始终意味着你会出现错误的地方,特别是在错误的方式会返回值。有些函数会返回错误的Win32代码,一些返回HRESULTS,还有的则比较例外,所有要求程序员编写错误处理代码的不同类型。 .NET中,所有的错误报告都会通过这个模型,从而大大简化了书写,阅读和维护代码。由于公共语言规范和通用类型系统,.NET也可以在跨模块和跨语言的界限工作

多国语言的发展

由于许多语言对.NET公共语言运行库有规范,现在更容易语言应用部分适应你的操作。以前,不同的编程语言互操作是允许的,如COM或CORBA,这样做是通过一个接口定义语言(IDL)的来实现的。.NET平台的语言,通过MSIL对彼此的使用加以整合。虽然它包含指示类似的汇编代码和移入和移出寄存器变量,它也包含了管理对象和调用它们的方法,操纵阵列,提高和捕获异常的说明。

Microsoft公共语言规范描述了其他开发工具,作者必须为他们的编译器输出IL代码,使它们能很好的融入.NET语言。微软目前针对.NET公共语言运行库的几个编译器提供了IL代码:C 的托管扩展的C#,JAVAScript和Visual Basic中。此外,微软和其他几家公司正在生产用于语言的编译器。这些编译器也针对.NET公共语言运行库。目前支持为COBOL,Eiffel,Fortran语言,Perl,Python和Scheme。供应商还公布了其他不同的许多语言。这是一个当前供应商的列表:

http://msdn.microsoft.com/vstudio/partners/language/default.asp

为什么你应该关心的IL详情?因为它为.NET管理着跨语言功能。由于IL整个翻译的开销的复杂性,无接口定义语言需要启用跨语言的元数据来处理。举例来说,一个对IL的定义,同样的对象可以不管是不是能捕获.NET语言。您的组件在C#可以书面提出一个可以由Fortran采用资讯科技应用捕获的异常。而且关于不同的调用约定或数据类型,不必再担心无缝互操作性。

跨语言继承的另一个特点是可以使用IL。现在您可以创建源代码,而且无需再为新类中的基本成分编写其他的语言。例如,您可以创建一个C 的类,从Visual Basic中实现了一个派生类。.NET可以实现这一点,因为它定义和类型系统都提供了一个共同的.NET语言。

对应用开发的规范下,Windows DNA的巨大挑战之一是各种语言开发的应用程序时的调试。由于统一的Visual Studio.NET开发环境和IL都使用了.NET语言作为输出,跨语言调试就不会排斥汇编语言。 .NET公共语言运行库调试应用程序,完全支持跨语言的界限。运行库还提供了内置的堆叠设施,使其更容易找到漏洞和错误。

平台和处理器独立性

中间语言是与CPU无关的,它远高于大多数机器语言水平。.NET应用程序可以在任何平台上支持写、新建以及托管,这样就可以支持.NET公共语言运行库。由于.NET通用类型系统定义不论基本数据类型大小都可以使用.NET应用程序,而且这些应用程序可以在公共语言的环境中运行,所以任何硬件或操作系统都支持.NET平台。

虽然在写这篇文章的时候,.NET应用程序只能运行在Windows平台。但2001年6月27日,微软宣布,它已经与Corel达成协议,共同开发一个C#编译器和.NET 框架基础结构组件,它们将共享源代码并执行FreeBSD版本的UNIX。这个测试版本目前预计将在2002年上半年的某个时候发布。

几个星期后,也就是在二零零一年七月十日微软给出了积极的信号。一个深蓝设计的.NET,这是一个为Linux用户界面设计的流行的Gnome计划的开源版本。你可以在www.go-mono.net找到该项目,称为MONO。该小组正在开发一个C#语言的编译器,以及.NET公共语言运行库,而且关于基类库的工作也开始了。在2001年年底该项目的发布了它的第一个可用单代码计划。

自动内存管理

提到内存泄漏问题,可能一个开发环境中并没有提供自动内存来管理开发,从而导致调试无数个小时。对那些想在这个工作中花费一些时间来降低棘手的代码的人来说,绕过资源管理应该是一种不错的方法。

从Visual Basic开发人员或有COM背景与未来技术的相关的人员的角度来说,这项技术在只有一个对象而且没有其他物体对其引用的时候会恢复内存,而且基本上它不再需要使用内存。虽然这在理论上听起来完善,但在实践中却有几个问题。最常见的是循环引用问题,即一个对象到另一个对象,它本身包含一个回到第一个对象的引用。当内存管理的对象不使用它们看起来时候的摸样时,这些对象将始终大于零。因此,除非它们是隐式解构,不然他们的内存可能永远不会被发现。

C或C 程序员的习惯是自己销毁对象,因为他们能管理其自有的内存。他们不信任任何人能利用管理资源并将之照顾好。然而,在.NET环境下,微软正在努力使软件开发更加容易。在本章后面的内容,我们涉及.NET如何进行已经经过严格的引用计数或手动内存管理方法改进的垃圾收集工作。

支持的版本

谁如果不理解 “DLL HELL”,那就是他尚未开发Windows(或至少支持)软件很长时间。对于外行,当客户使用您的应用程序相同的DLL之一安装了一个软件包时,你会发现自己就身在DLL HELL之中。但是,所有开发人员总是把每件事情都向后100%兼容,就像您的应用程序使用此DLL的版本1.0,新的1.1软件版本能兼容1.0版本的,对不对?当新的DLL使您的应用程序表现出一些奇怪的问题或者完全停止工作的时候,你要经过大量调查找出有问题的DLL是什么,并用新的版本替换您的软件版本。但是,如果现在他们的新软件不工作了,那么就是DLL HELL发挥作用了。当应用程序加载库时,许多开发人员仅需要采取安装每个DLL的应用程序需要的目录的方法。这虽然违背了共享库的目的,但它是一个解决问题的方法。

COM以前是这样的:你以前从来没有改变一个方法接口,你只是添加新的方法。不幸的是,软件开发人员经常是玩弄主义者,留下一些“漏洞”的功能玩弄一些人。问题是,一旦在使用时产生了不良的客户端软件,那么改变一个组件的接口会被以前的所谓添加新的方法的行为影响。不过它也有解决方法,由于COM对象是被加载在注册表中的信息,所以只需替代该DLL或应用程序目录,那么这个问题便不会发生。

现在,.NET架构将应用程序组件分开,这样应用程序就能总是加载与它建立和测试相关的元件。如果应用程序安装运行后,应用程序应该始终运行。这是通过程序集和.NET的封装组件实现的。虽然目前的DLL和COM的对象包含了许多不同的版本信息,但是操作系统不会真正使用任何这些信息。程序集包含了.NET公共语言运行时使用的版本信息,以确保应用程序在加载它时建立使用组件。我们将在后面的章节涵盖了更多关于配件和版本如何工作的内容。

支持的开放标准

在今天的世界上,不是每个你可能工作的设备都是运行微软操作系统或使用英特尔处理器。为了实现开放的标准,.NET的建构是基于XML和SOAP的,它将使你可以通过Internet激活应用程序,而不论其背后依托标准的信息基础是什么设施。 SOAP将为不同的系统提供容易的交换信息的方法,而且更好的是,SOAP允许您调用远程系统的方

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[613294],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。