Visual Basic.NET程序设计
上QQ阅读APP看书,第一时间看更新

1.1 Visual Basic.NET语言的发展演变

提及Visual Basic.NET语言,首先要简要介绍BASIC语言。BASIC是Beginner’s All-purpose Symbolic Instruction Code(初学者通用符号指令代码)的缩写,是国际上广泛使用的一种计算机高级语言。

1.1.1 从BASIC到Visual Basic.NET

BASIC的发展大致经历了基本BASIC、高级BASIC和结构化BASIC等阶段。BASIC诞生于1964年,它只有十几条语句,简单易学,成为计算机入门的主要学习语言之一。20世纪70年代中期,随着计算机硬件技术的发展,微型计算机诞生并得到普及,BASIC语言也随之得到了完善,功能有了较大的扩充,出现了高级BASIC,代表性的版本有GWBASIC、BASICA等。20世纪80年代中期,随着结构化程序设计的需要,结构化的BASIC应运而生,代表性的版本有True Basic、Quick Basic和Turbo Basic等。

1988年,Microsoft公司推出Windows操作系统,开创了操作系统从DOS平台到Windows平台的革命性转变。与此同时,用户也自然希望设计出具有Windows图形用户界面(Graphical User Interface,GUI)的应用程序。可视化程序设计语言很好地适应了这种需要。在可视化开发环境中,不需要编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象添加到屏幕上即可。

1991年,Microsoft公司推出了Visual Basic。Visual Basic是由结构化BASIC语言发展而来的,从BASIC到Visual Basic的变化是质的飞跃。这种变化不仅仅是语言功能的大大增强,更主要的是程序设计方式以及程序界面类型的改变。BASIC语言是基于过程的程序设计语言,而Visual Basic是基于对象的事件驱动机制的程序设计语言。BASIC语言的编程界面是字符界面,设计的程序是基于DOS平台的字符界面程序,而Visual Basic的程序开发界面是可视化的图形界面,开发的应用程序也是Windows图形界面程序。

1991年推出的Visual Basic 1.0存在一些缺陷,功能也相对少一些。经过Microsoft公司的不断努力,于1992年、1993年、1995年、1997年和1998年相继推出了Visual Basic 2.0、Visual Basic 3.0、Visual Basic 4.0、Visual Basic 5.0和Visual Basic 6.0共5个版本,功能在不断增强。Visual Studio(可视化开发工作室)是开发Visual Basic应用程序的工具,它采用基于组件和分段程序的快速应用开发方法(Rapid Application Development,RAD),程序员通过界面元素进行交互式程序设计,可避免大量编写源代码,是计算机辅助软件工程(Computer-Aided Software Engineering,CASE)的较高级阶段(最高阶段是自动程序设计)。

2002年,Microsoft公司推出了Visual Studio.NET,Visual Basic.NET是Visual Studio.NET的重要组件之一。它在.NET框架的基础上对Visual Basic 6.0进行了非常大的改进。.NET中有两种窗体类:Windows窗体及Web窗体。Visual Basic.NET完全支持面向对象的程序设计(如支持封装、继承、重载、多态性等概念),增加了对进程的控制、硬件底层结构的操作以及结构性的错误控制,可以创建多线程的应用程序,因而能够充分利用机器的资源。它已成为一种专业化的开发语言和环境,与以前的Visual Basic相比,可以减少完成常见任务所需的代码数量,在设计时显著减少编程错误、简化数据访问,可以快速创建Windows应用程序、Web应用程序和企业级分布式应用程序。

1.1.2 .NET框架

.NET框架是一种新的计算平台,它在Internet高度分布的环境中简化应用程序开发。.NET框架使开发者可以为不同设备和不同平台开发应用程序,如Windows应用程序、Web应用程序、Windows服务和Web服务等。

.NET定义了一种通用语言子集(Common Language Subset,CLS),统一了编程类库,提供对下一代网络通信标准——可扩展置标语言(Extensible Markup Language,XML)的支持。.NET具有跨平台、跨语言、跨设备的特性,即不论用什么操作系统(UNIX、Windows、Linux或OS/2),不论用什么程序设计语言(Visual Basic、C#、C++、Java等),不论用什么设备(PC、手机、PDA、家用电器等),所有的代码一次书写,到处适用。

.NET框架包含两大组件:公共语言运行时(Common Language Runtime,CLR)与.NET框架类库(Framework Class Library,FCL),如图1-1-1所示。CLR和FCL紧密结合在一起,提供了不同系统之间交叉与综合的解决方案与服务,创造了可控的、安全的、功能丰富的应用开发环境。

此外,.NET框架还包含把.NET应用程序转换为可执行文件所需要的所有编译器,提供运行.NET应用程序的环境。.NET框架是整个计算平台的基础,要想开发和运行.NET应用程序,必须在计算机上安装.NET框架,没有它,基于.NET平台的应用程序就无法运行。开发人员可以利用.NET框架技术快速开发Windows(桌面)应用程序,也可以创建动态的Web站点以及可伸缩的、内存利用率高的组件。

图1-1-1 .NET框架的组成

CLR是所有.NET应用程序运行时环境,是所有.NET应用程序都使用的编程基础。CLR提供运行时环境把应用程序编译成中间语言(Intermediate Language,IL)代码,再把IL代码编译成执行代码;CLR还提供运行时服务,如内存管理、类型安全、异常管理、线程支持、调试支持等。

在程序设计过程中,开发人员往往会因功能需求不同而采用不同的语言(如Visual Basic或Visual C++)。在传统的开发过程中,用不同的语言开发出来的程序彼此不能直接利用另一种语言的源代码,而CLR就是为了解决各种不同编程语言之间相互调用的问题的。这些语言的编译器产生一个托管模块,即中间语言IL代码,最后再由对应平台上的即时编译器(Just-In-Time,JIT)将其转换成机器码。

在程序执行过程中,CLR负责管理内存、线程执行、代码运行、代码安全验证、编译及其他系统服务,是.NET开发人员的源代码和硬件底层之间的中间媒介。在.NET出现之前,几乎每一种程序设计语言都有自己的运行库,如C++开发人员大多使用的是微软基础类库或Win32 API,Visual Basic用户使用的是Visual Basic API,Java用户使用JDK,彼此之间很难兼容。CLR提供了一个跨编程语言的统一的公共API集,使得跨语言继承、错误处理和调试成为可能。而且在.NET平台下,Visual Basic、C++、C#、J#、JScript都是调用.NET类库,效率基本一样。

CLR通过公共类型系统(Common Type System,CTS)和公共语言规范(Common Language Specification,CLS)定义了标准数据类型和语言间的互操作性的规则。

1.1.3 Visual Studio.NET

Visual Studio.NET是.NET平台下强大的开发工具,包含设计和部署.NET应用程序的工具。图1-1-2所示为Visual Studio.NET的组成。

.NET框架为开发人员提供了一个统一的、面向对象的、层次化的、可扩展的框架类库(Framework Class Library,FCL),包括基础类库、数据访问组件以及WebForm、WinForm、Web Services模板等,它是一个与公共语言运行时紧密集成的可重用类型集合。

图1-1-2 Visual Studio.NET的组成

.NET类库是一个由Microsoft.NET Framework SDK中包含的类、接口和值类型组成的库。该库提供对系统功能的访问,是建立.NET框架应用程序、组件和服务的基础。.NET框架包括的类型执行下列功能:

①表示基础数据类型和异常。

②封装数据结构。

③执行输入/输出。

④访问关于加载类型的信息。

⑤调用.NET框架安全检查。

⑥提供数据访问、多客户端GUI(图形用户界面)和服务器控制的客户端GUI。

该类库采用名称空间来组织和使用。一个名称空间是一系列相关功能类和子名字空间的集合。表1-1-1列出了.NET常用的名称空间。名称空间使用点语法命名方案,该方案隐含了层次结构体系。例如,System.Windows.Forms.Button表示Windows窗体中的按钮类,该类型属于System.Windows.Forms名称空间。

表1-1-1 常用.NET名称空间

开发人员也能创建包含自己的命名空间。这些命名空间中的类能无缝地融合到编程规范中,与传统的Windows编程规范相比,大大简化了软件的开发过程。

在.NET中,由于采用了公用语言运行库,不同语言之间可以方便地集成在同一个项目中。.NET的这一特性反映在开发工具的界面就是Visual Studio只有一个公用的集成开发环境(Integrated Development Environment,IDE)。

Visual Studio.NET提供了一个高效的、可扩展的开发环境,可以用来生成和部署Web应用程序、Web服务、桌面应用程序和移动应用程序。.NET语言(包括Visual Basic、Visual C++、Visual C#和Visual J#等)全部使用相同的集成开发环境,该环境允许它们共享工具,并有助于创建混合语言解决方案。

2002年,Microsoft公司推出Visual Studio.NET后,对Visual Studio.NET的功能和性能进行了改进,于2013年推出Visual Studio 2013。Visual Studio 2013的新功能包括支持Windows 8.1 App开发、提供敏捷项目管理(Agile Portfolio Management)、提供轻量代码注释(Lightweight Code Commenting)、新增测试用例管理功能和整合微软System Center IT管理平台等。2014年11月,微软推出Visual Studio 2015,其中包含Visual Basic 2015。本书以Visual Studio 2013作为程序的实现环境。