細說VB.NET(下)
2024-07-21 02:21:06
供稿:網(wǎng)友
 
網(wǎng)站運營seo文章大全提供全面的站長運營經(jīng)驗及seo技術!細說vb.net(下)
(作者:青蘋果工作室編譯 2001年03月07日 14:47)
表單和新ide面孔 
  visual basic.net 的面向對象功能很偉大,但第一次啟動 vb.net 時還注意不到它。可能你注意到的第一件事是它的 ide。ide看起來可能很熟悉,建立vs.net ide的團隊以前的工作是開發(fā)vb的ide,對ide的增強借鑒了vb ide的經(jīng)驗。 
  同時,ide的改變遠比外表顯示的深刻。所有.net語言使用相同的ide,并且ide中的新工具功能強大又易于理解。你能把任何一個設計窗口設置為自動隱藏 (就像你能自動隱藏windows任務欄那樣),這樣就大大地減少了混亂。主工作區(qū)域是一系列選項卡,這意味著ide不再同時顯式多個表單和代碼模塊。當打開對象的源代碼時,ide在它的主工作區(qū)域為工作的對象添加一個新的選項卡。 
  ide還包括一個叫作任務表(task list)的新窗口。它的內容由ide創(chuàng)建的項目組成。例如,如果在試圖編譯一個工程時收到一個錯誤,vb在任務表里創(chuàng)建一個項目來解釋這個錯誤。你能直接向任務表里添加項目,或者通過在代碼里以 "todo:"開始一個注釋行,你可以在代碼位置和任務之間建立聯(lián)系。我喜歡microsoft實現(xiàn)任務表的方式;在程序出爐前,都需要完成些什么?估計它能幫我省掉很多時間和麻煩。看到它時,你最容易產(chǎn)生的一個想法就是:以前怎么就沒人想到它呢? 
  你能注意到的另一個變化就是:vb.net的表單。microsoft廢棄了舊的表單引擎而使用windows form代替它。所有基于 clr的語言都使用windows form引擎。相對于vb6的表單引擎,它有幾個重要的改進。例如,windows form讓你能創(chuàng)建能自動調整組件尺寸的表單,并允許將控件錨定在表單里的特定位置。換句話說,不再需要使用第三方控件就能完成這些特殊任務。windows form還允許表演像透明表單這樣的很酷的技術。 
  過去,vb隱藏了建立表單的所有魔術。你使用ide設計表單并把代碼添加到initialize事件上,但你沒有手段來控制這兩點之間的過程。現(xiàn)在,表單就是一個類,它包含用來建立表單所有的代碼。我把這些代碼稱為肥料代碼,因為大多數(shù)開發(fā)者希望遠遠離開它們,越遠越好。要想可靠地弄壞你的程序,沒有比折騰這些代碼更好的辦法了。另一方面,技術嫻熟的用戶可以通過這些代碼做很多很酷的事,因為它讓你能走到vb.net表單的幕后。要是你不想看到這些代碼你也能不看,因為新代碼編輯器有展開和折疊代碼區(qū)的功能,并且這些肥料代碼是默認折疊的。代碼編輯器還有幾個很酷的新功能。例如,現(xiàn)在它自動為你縮排所有代碼(而且還干得不錯),它還有內置的顯示行號功能。 
創(chuàng)建編譯的服務器端代碼 
  除了新的windows form引擎,.net還包括一個為創(chuàng)建web表單而特別設計的表單引擎。這些被稱為web form的表單很聰明,就像vb讓你能很容易地為傳統(tǒng)windows桌面應用程序創(chuàng)建表單一樣,它們讓你能方便地為web創(chuàng)建表單。web form是 asp.net里的技術,讓你能使用熟悉的rad工具創(chuàng)建帶有代碼的表單。創(chuàng)建的asp.net代碼編譯并駐留在服務器上,并在那里被執(zhí)行,然后以html方式發(fā)送給任何一個支持html 3.2的瀏覽器。 
  底層結構捕獲客戶端上的事件數(shù)據(jù),并把它發(fā)送給服務器。這意味著可以使用各種用戶界面工具,可以利用現(xiàn)有的表單設計技巧,而且應用程序界面是不依賴瀏覽器的。如果可以放棄不依賴瀏覽器,你還有另一個選擇來利用internet explorer 某些功能特有的優(yōu)勢。web form使支持web的應用程序能更容易地創(chuàng)建更好、更豐富多彩的用戶界面。 
web服務策略 
  vb.net里的另外一個重要的面向web的功能是:web服務。microsoft的市場部門把web服務列為采用.net的幾大理由之一。實際上,web服務的本質就是使用標準協(xié)議的、由web服務器提供的、類似于com的對象。注意在技術上它們并不是com對象,但和com對象的表現(xiàn)方式很相像。microsoft希望看到所有的公司使用web服務,并且未來的應用程序可以簡單地“粘”在不同的web服務上,就像現(xiàn)在可以使用visual basic for applications (vba)建立基于office和支持vba的程序的解決方案一樣。 
  在pdc上,對于它希望開發(fā)者如何“粘”在這些服務上,microsoft提供的一個演示程序給出了很好的例子。在這個演示程序里,一個假想的診所通過web服務提供預約系統(tǒng),演示了你可以怎樣使用智能電話通過web進行預約。visual basic.net 甚至會允許你查詢服務器,并獲得關于服務器能支持的所有web服務的相關數(shù)據(jù)。通過intellisense dropdown這個絕對有用的工具,程序員可以訪問web服務。web服務是microsoft雄心勃勃的戰(zhàn)略,但只有時間才能檢驗它是否能成功地被廣泛接納。 
  microsoft試圖消除與包裝和分發(fā)應用程序相關的問題,包括令人恐懼的dll。所有.net應用程序被封裝為元件。元件包含著數(shù)據(jù)以描述它運行所需的東西。這些數(shù)據(jù)被稱為貨單,包括很多信息,例如:元件身份(名稱、版本等等);一個列出了所有文件之間的依賴關系的表,以及它們的位置和版本;包括dll相關數(shù)據(jù)的外部依賴關系信息;還有其它元件需要而開發(fā)者沒有創(chuàng)建的資源。元件是自說明的(通過它們的貨單),所以.net應用程序不需要修改注冊表才能工作。換句話說,你不再需要注冊表組件。在最好的情況下,即客戶機里已經(jīng)有了.net運行庫時,分發(fā)一個復雜的應用程序可能只是把一個文件夾復制到目標機器上這么簡單的事。元件的另一個好處是:你可以讓不同的應用程序使用同一個dll的不同版本,并且協(xié)調地運行在一臺機器上。如果所有這些都可以像計劃中那樣工作,有關dll的地獄和版本的噩夢就將成為往事。 
正確之路 
  microsoft徹底更新了它的技術,而不僅僅是核心語言。例如,在visual studio.net里同時提供了ado.net,這是有特殊優(yōu)點的下一代activex data objects (ado) 版本。它的一個靈活改變是:ado.net用extensible markup language (xml)作為在組件之間傳遞數(shù)據(jù)集的格式。這意味著接收組件不一定必須是ado.net組件,同時接收組件可以接受任何xml 格式的數(shù)據(jù)集。談到xml,它支撐著vs.net中的任何東西,從配置文件到遠端過程調用。ado.net在處理斷開的數(shù)據(jù)集時比 ado的性能要好,并且具有更好的伸縮性。 
  visual basic.net對我們都很熟悉的vb做了重要的改變。c++革命性地跳躍到.net后有了一個新名字:c#,而visual basic的名字沒變。然而,如果你把vb.net當作語法相似的一門新語言而不是簡單的“升級”,可能掌握起來就要容易一些。本文給你一個起點,但吸收掌握各種知識,并對未來做出有根據(jù)的決定是一個艱苦的過程,它只是這個過程的一條起跑線。我不知道.net會有多么成功,它的很多地方吸引我,但有些地方并非如此。這個工具做了大量承諾,它夸耀很多功能能使 vb開發(fā)者更簡單地創(chuàng)建更有伸縮性的高端應用程序。最后,它的成功將取決于開發(fā)者能多好地將它應用于現(xiàn)實世界。縱觀microsoft在pdc和beta 1版本之間的性能和穩(wěn)定性上所跨過的這一步,我堅定地認為:microsoft走對了路! 
  <全文完>