- Visual Basic.NET程序設(shè)計
- 劉衛(wèi)國
- 2946字
- 2019-10-12 16:39:22
1.1 Visual Basic.NET語言的發(fā)展演變
提及Visual Basic.NET語言,首先要簡要介紹BASIC語言。BASIC是Beginner’s All-purpose Symbolic Instruction Code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。
1.1.1 從BASIC到Visual Basic.NET
BASIC的發(fā)展大致經(jīng)歷了基本BASIC、高級BASIC和結(jié)構(gòu)化BASIC等階段。BASIC誕生于1964年,它只有十幾條語句,簡單易學,成為計算機入門的主要學習語言之一。20世紀70年代中期,隨著計算機硬件技術(shù)的發(fā)展,微型計算機誕生并得到普及,BASIC語言也隨之得到了完善,功能有了較大的擴充,出現(xiàn)了高級BASIC,代表性的版本有GWBASIC、BASICA等。20世紀80年代中期,隨著結(jié)構(gòu)化程序設(shè)計的需要,結(jié)構(gòu)化的BASIC應(yīng)運而生,代表性的版本有True Basic、Quick Basic和Turbo Basic等。
1988年,Microsoft公司推出Windows操作系統(tǒng),開創(chuàng)了操作系統(tǒng)從DOS平臺到Windows平臺的革命性轉(zhuǎn)變。與此同時,用戶也自然希望設(shè)計出具有Windows圖形用戶界面(Graphical User Interface,GUI)的應(yīng)用程序。可視化程序設(shè)計語言很好地適應(yīng)了這種需要。在可視化開發(fā)環(huán)境中,不需要編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對象添加到屏幕上即可。
1991年,Microsoft公司推出了Visual Basic。Visual Basic是由結(jié)構(gòu)化BASIC語言發(fā)展而來的,從BASIC到Visual Basic的變化是質(zhì)的飛躍。這種變化不僅僅是語言功能的大大增強,更主要的是程序設(shè)計方式以及程序界面類型的改變。BASIC語言是基于過程的程序設(shè)計語言,而Visual Basic是基于對象的事件驅(qū)動機制的程序設(shè)計語言。BASIC語言的編程界面是字符界面,設(shè)計的程序是基于DOS平臺的字符界面程序,而Visual Basic的程序開發(fā)界面是可視化的圖形界面,開發(fā)的應(yīng)用程序也是Windows圖形界面程序。
1991年推出的Visual Basic 1.0存在一些缺陷,功能也相對少一些。經(jīng)過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(可視化開發(fā)工作室)是開發(fā)Visual Basic應(yīng)用程序的工具,它采用基于組件和分段程序的快速應(yīng)用開發(fā)方法(Rapid Application Development,RAD),程序員通過界面元素進行交互式程序設(shè)計,可避免大量編寫源代碼,是計算機輔助軟件工程(Computer-Aided Software Engineering,CASE)的較高級階段(最高階段是自動程序設(shè)計)。
2002年,Microsoft公司推出了Visual Studio.NET,Visual Basic.NET是Visual Studio.NET的重要組件之一。它在.NET框架的基礎(chǔ)上對Visual Basic 6.0進行了非常大的改進。.NET中有兩種窗體類:Windows窗體及Web窗體。Visual Basic.NET完全支持面向?qū)ο蟮某绦蛟O(shè)計(如支持封裝、繼承、重載、多態(tài)性等概念),增加了對進程的控制、硬件底層結(jié)構(gòu)的操作以及結(jié)構(gòu)性的錯誤控制,可以創(chuàng)建多線程的應(yīng)用程序,因而能夠充分利用機器的資源。它已成為一種專業(yè)化的開發(fā)語言和環(huán)境,與以前的Visual Basic相比,可以減少完成常見任務(wù)所需的代碼數(shù)量,在設(shè)計時顯著減少編程錯誤、簡化數(shù)據(jù)訪問,可以快速創(chuàng)建Windows應(yīng)用程序、Web應(yīng)用程序和企業(yè)級分布式應(yīng)用程序。
1.1.2 .NET框架
.NET框架是一種新的計算平臺,它在Internet高度分布的環(huán)境中簡化應(yīng)用程序開發(fā)。.NET框架使開發(fā)者可以為不同設(shè)備和不同平臺開發(fā)應(yīng)用程序,如Windows應(yīng)用程序、Web應(yīng)用程序、Windows服務(wù)和Web服務(wù)等。
.NET定義了一種通用語言子集(Common Language Subset,CLS),統(tǒng)一了編程類庫,提供對下一代網(wǎng)絡(luò)通信標準——可擴展置標語言(Extensible Markup Language,XML)的支持。.NET具有跨平臺、跨語言、跨設(shè)備的特性,即不論用什么操作系統(tǒng)(UNIX、Windows、Linux或OS/2),不論用什么程序設(shè)計語言(Visual Basic、C#、C++、Java等),不論用什么設(shè)備(PC、手機、PDA、家用電器等),所有的代碼一次書寫,到處適用。
.NET框架包含兩大組件:公共語言運行時(Common Language Runtime,CLR)與.NET框架類庫(Framework Class Library,F(xiàn)CL),如圖1-1-1所示。CLR和FCL緊密結(jié)合在一起,提供了不同系統(tǒng)之間交叉與綜合的解決方案與服務(wù),創(chuàng)造了可控的、安全的、功能豐富的應(yīng)用開發(fā)環(huán)境。
此外,.NET框架還包含把.NET應(yīng)用程序轉(zhuǎn)換為可執(zhí)行文件所需要的所有編譯器,提供運行.NET應(yīng)用程序的環(huán)境。.NET框架是整個計算平臺的基礎(chǔ),要想開發(fā)和運行.NET應(yīng)用程序,必須在計算機上安裝.NET框架,沒有它,基于.NET平臺的應(yīng)用程序就無法運行。開發(fā)人員可以利用.NET框架技術(shù)快速開發(fā)Windows(桌面)應(yīng)用程序,也可以創(chuàng)建動態(tài)的Web站點以及可伸縮的、內(nèi)存利用率高的組件。

圖1-1-1 .NET框架的組成
CLR是所有.NET應(yīng)用程序運行時環(huán)境,是所有.NET應(yīng)用程序都使用的編程基礎(chǔ)。CLR提供運行時環(huán)境把應(yīng)用程序編譯成中間語言(Intermediate Language,IL)代碼,再把IL代碼編譯成執(zhí)行代碼;CLR還提供運行時服務(wù),如內(nèi)存管理、類型安全、異常管理、線程支持、調(diào)試支持等。
在程序設(shè)計過程中,開發(fā)人員往往會因功能需求不同而采用不同的語言(如Visual Basic或Visual C++)。在傳統(tǒng)的開發(fā)過程中,用不同的語言開發(fā)出來的程序彼此不能直接利用另一種語言的源代碼,而CLR就是為了解決各種不同編程語言之間相互調(diào)用的問題的。這些語言的編譯器產(chǎn)生一個托管模塊,即中間語言IL代碼,最后再由對應(yīng)平臺上的即時編譯器(Just-In-Time,JIT)將其轉(zhuǎn)換成機器碼。
在程序執(zhí)行過程中,CLR負責管理內(nèi)存、線程執(zhí)行、代碼運行、代碼安全驗證、編譯及其他系統(tǒng)服務(wù),是.NET開發(fā)人員的源代碼和硬件底層之間的中間媒介。在.NET出現(xiàn)之前,幾乎每一種程序設(shè)計語言都有自己的運行庫,如C++開發(fā)人員大多使用的是微軟基礎(chǔ)類庫或Win32 API,Visual Basic用戶使用的是Visual Basic API,Java用戶使用JDK,彼此之間很難兼容。CLR提供了一個跨編程語言的統(tǒng)一的公共API集,使得跨語言繼承、錯誤處理和調(diào)試成為可能。而且在.NET平臺下,Visual Basic、C++、C#、J#、JScript都是調(diào)用.NET類庫,效率基本一樣。
CLR通過公共類型系統(tǒng)(Common Type System,CTS)和公共語言規(guī)范(Common Language Specification,CLS)定義了標準數(shù)據(jù)類型和語言間的互操作性的規(guī)則。
1.1.3 Visual Studio.NET
Visual Studio.NET是.NET平臺下強大的開發(fā)工具,包含設(shè)計和部署.NET應(yīng)用程序的工具。圖1-1-2所示為Visual Studio.NET的組成。
.NET框架為開發(fā)人員提供了一個統(tǒng)一的、面向?qū)ο蟮摹哟位摹⒖蓴U展的框架類庫(Framework Class Library,F(xiàn)CL),包括基礎(chǔ)類庫、數(shù)據(jù)訪問組件以及WebForm、WinForm、Web Services模板等,它是一個與公共語言運行時緊密集成的可重用類型集合。

圖1-1-2 Visual Studio.NET的組成
.NET類庫是一個由Microsoft.NET Framework SDK中包含的類、接口和值類型組成的庫。該庫提供對系統(tǒng)功能的訪問,是建立.NET框架應(yīng)用程序、組件和服務(wù)的基礎(chǔ)。.NET框架包括的類型執(zhí)行下列功能:
①表示基礎(chǔ)數(shù)據(jù)類型和異常。
②封裝數(shù)據(jù)結(jié)構(gòu)。
③執(zhí)行輸入/輸出。
④訪問關(guān)于加載類型的信息。
⑤調(diào)用.NET框架安全檢查。
⑥提供數(shù)據(jù)訪問、多客戶端GUI(圖形用戶界面)和服務(wù)器控制的客戶端GUI。
該類庫采用名稱空間來組織和使用。一個名稱空間是一系列相關(guān)功能類和子名字空間的集合。表1-1-1列出了.NET常用的名稱空間。名稱空間使用點語法命名方案,該方案隱含了層次結(jié)構(gòu)體系。例如,System.Windows.Forms.Button表示W(wǎng)indows窗體中的按鈕類,該類型屬于System.Windows.Forms名稱空間。
表1-1-1 常用.NET名稱空間

開發(fā)人員也能創(chuàng)建包含自己的命名空間。這些命名空間中的類能無縫地融合到編程規(guī)范中,與傳統(tǒng)的Windows編程規(guī)范相比,大大簡化了軟件的開發(fā)過程。
在.NET中,由于采用了公用語言運行庫,不同語言之間可以方便地集成在同一個項目中。.NET的這一特性反映在開發(fā)工具的界面就是Visual Studio只有一個公用的集成開發(fā)環(huán)境(Integrated Development Environment,IDE)。
Visual Studio.NET提供了一個高效的、可擴展的開發(fā)環(huán)境,可以用來生成和部署Web應(yīng)用程序、Web服務(wù)、桌面應(yīng)用程序和移動應(yīng)用程序。.NET語言(包括Visual Basic、Visual C++、Visual C#和Visual J#等)全部使用相同的集成開發(fā)環(huán)境,該環(huán)境允許它們共享工具,并有助于創(chuàng)建混合語言解決方案。
2002年,Microsoft公司推出Visual Studio.NET后,對Visual Studio.NET的功能和性能進行了改進,于2013年推出Visual Studio 2013。Visual Studio 2013的新功能包括支持Windows 8.1 App開發(fā)、提供敏捷項目管理(Agile Portfolio Management)、提供輕量代碼注釋(Lightweight Code Commenting)、新增測試用例管理功能和整合微軟System Center IT管理平臺等。2014年11月,微軟推出Visual Studio 2015,其中包含Visual Basic 2015。本書以Visual Studio 2013作為程序的實現(xiàn)環(huán)境。
- C++面向?qū)ο蟪绦蛟O(shè)計(第三版)
- 現(xiàn)代C++編程:從入門到實踐
- C#高級編程(第10版) C# 6 & .NET Core 1.0 (.NET開發(fā)經(jīng)典名著)
- Qt 5 and OpenCV 4 Computer Vision Projects
- MongoDB for Java Developers
- MATLAB定量決策五大類問題
- C程序設(shè)計案例教程
- Hands-On Automation Testing with Java for Beginners
- 好好學Java:從零基礎(chǔ)到項目實戰(zhàn)
- 小程序,巧應(yīng)用:微信小程序開發(fā)實戰(zhàn)(第2版)
- Android驅(qū)動開發(fā)權(quán)威指南
- Unity&VR游戲美術(shù)設(shè)計實戰(zhàn)
- Web性能實戰(zhàn)
- 從零開始學Python網(wǎng)絡(luò)爬蟲
- 汽車人機交互界面整合設(shè)計