.net是個框架,范圍很大。如果只是編程的話那就看你的基本功。如果以前沒有學過編程的話,那么去找本不是很厚的教材來了解一下什么是編程。其實編程說簡單也簡單,就是變量,方法,邏輯控制語句。任何編程語言都離不開這三樣基礎的東西,實現方法大同小異。不同的只是api,和面向對象之類的編程思想。api可以通過大量的寫代碼來熟悉,這時候你需要的是一本字典似的工具書,邊寫邊看。編程思想需要你學習之后,在編程的過程中去體會,光是聽人說是理解不了的。
創(chuàng)新互聯(lián)公司于2013年成立,是專業(yè)互聯(lián)網技術服務公司,擁有項目網站設計、成都網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元隴南做網站,已為上家服務,為隴南各地企業(yè)和個人服務,聯(lián)系電話:18982081108
你可以先學習C#的語法,然后學習一下web開發(fā),這樣asp。net基本上你就會得差不多了,然后可以學學webservice開發(fā),接下來了解一下mvc之類的架構。
如果你用的是最新的visual studio2010,那么你在新建工程的時候你會看到幾種不同語言。C#很簡單,學會了之后做個網站,寫個程序什么的都能做了,vb.net等等都差不多,但是F#和他們不是一個概念,這是另外一種東西。事實上.net會把c#,vb,vc的代碼最終轉化成為一個叫托管代碼的東西,相當于是殊途同歸了,所以你用vb,vc,c#開發(fā)的類可以互相跨語言使用。
細說VB.NET(上)
(作者:青蘋果工作室編譯 2001年03月07日 14:47)
微軟公司提出的.NET概念,正從各個方面滲入到我們的生活中。它將產生的作用,
誠如一位業(yè)內名家所描述的:“請忘掉你認為你所知道的,.NET將改變一切”!既然如
此,無論是IT業(yè)內人士、還是企業(yè)決策者,快速領會這個新概念的含義及深遠影響,
都顯得非常必要。
概要
VB正在不斷地發(fā)展中,它具備了以前VB編程人員作夢都想擁有的性能,想象一下你
將隨心所欲的利用這些性能,是不是很令人激動?然而,這個計劃于2001年第四季度上
市銷售的VB版本可能會給你帶來些小麻煩,因為要完全掌握它需要一個較長的學習周期
,而且其中包括了一些微妙的變化,你可能在使用他們的時候出現錯誤。
需要準備的條件:建議獲得Visual Basic.NET beta 版,這些內容對所有VB程序員
都是有用的。
Microsoft .NET平臺的涵蓋面很廣,而且很難預測它的真正意義。我們注意到,現
在有很多關于.NET的不正確的理解。因此在這篇文章里,我們將把給你一個VB.NET到底
是些什么的概念,從頭到尾說一說它是什么、它能干什么以及怎樣才能充分發(fā)揮它的優(yōu)
點。我們要特別地細看一下IDE的改變、面向對象特征、底層結構的改變、一些“現代化
”的語法以及包裝和分發(fā)方面的增強。我們將討論這些功能能為你做什么,解釋他們的
優(yōu)點與不足。由于這些改變是如此之大,而且涉及方方面面,因此希望這一篇文章能滿
足你全部的要求是不現實的,要了解這方面全部的知識請參閱有關文章和書籍。
Visual Basic.NET 和你現在所知的開發(fā)工具完全不同,并且這個新版本會改變你的
未來。到底有多大不同?如果你覺得從VB3遷移到VB4是一個很大的變化,那這次VB.NET
會讓你感到震驚。這次升級與其說是VB的一個新版本,還不如說是遷移到一個新平臺上
,你所面臨的情況就和從DOS遷移到Windows差不多。
VB獲得了繼承能力
VB.NET預期擁有的第一新功能就是繼承能力。繼承是VB開發(fā)者長期以來要求得最多
的功能。判斷一下對繼承的要求是不是像早些時候對本地化編譯器的要求一樣將是一件
很有意思的事,后者,當Microsoft提供了一個以后,你就幾乎聽不到多少這方面的言語
了。
Visual Basic現在是真正的面向對象語言了。過去,你可以通過使用VB的界面繼承
性創(chuàng)建偽實現的對象繼承,但現在不必這樣做了。
Visual Basic.NET 現在提供大量面向對象功能,包括應用程序繼承,它允許你從其
它類導出你想創(chuàng)建的類。像在其它面向對象語言里一樣,你能覆蓋基類的方法和屬性,
并且能實現多態(tài)以創(chuàng)建健壯的、擴展性好的組件。例如,假定你從基類 Crane里繼承產
生了一個ForkLift類,你能使用像下面的代碼覆蓋基類里對Lift方法的默認實現:
Public Class ForkLift
Inherits Crane
Overrides Sub Lift(ByRef _
Height As Double)
Height = Height + 10
End Sub
End Class
VB.NET不僅能讓你覆蓋方法或屬性;它還能讓你重載方法。重載是定義同名、但使
用不同數據類型的方法或屬性的能力。例如,假定你有一個組件能對不同數據類型的數
組進行排序,你不需要三個(每種數據類型一個)不同名的方法;實際上你可以重載一個
方法名:
Overloads Sub SortArray(ByRef _
aValues()As String)
...
Overloads Sub SortArray(ByRef _
aValues() As Integer)
...
Overloads Sub SortArray(ByRef _
aValues() As Object)
另一個改變是:表單現在是類模塊。這就是說類本身包含建立表單的所有“肥料”
的代碼。你可能想知道,為什么你不得不看到這些從前不用看的代碼,但這個改變同時
帶來強大的新功能,包括繼承這些表單的能力。Microsoft把這一技術稱為可視化繼承。
假定你的對話框有一種標準的格式,例如在表單的一側有一行按鈕,并在角上有一個標
識,那么,通過可視化繼承你能創(chuàng)建一個表單模板(類),并從這個基類里導出所需的表
單。
一切都是對象
代碼復用簡化了開發(fā)過程,像實現和可視化繼承這樣的功能有利于更簡單、更強大
的代碼復用。然而,代碼復用并不是到此為止。你能通過支持VB.NET的通用語言運行庫
(Common Language Runtime - CLR)繼承在其它 VS.NET 語言里定義的類。例如,你或別
人創(chuàng)建了一個 C# 類,然后就能從 VB 里繼承它。
VB.NET 的面向對象能力擴展了語言本身的通路:一切都是對象。這意味著比在以前
的 VB 版本里,你獲得了更多的內在功能,你將很少被迫使用 Windows API。例如,在
以前的 VB 版本里,你使用 LoadPicture 方法加載圖片并使用表單的 Line 方法(或較
快的 API) 畫線?,F在,你使用 System.Drawing 對象來創(chuàng)建并處理圖形。你可以使用
以下代碼在表單上顯示一幅圖片:
picshowpicture.Image = _
system.Drawing.Image.FromFile( _
"c:\test.bmp")
注意 VB.NET 的“一切都是對象”方式讓你的語句能用得更長久。
考慮以下語句,它在一個圖形對象上畫一條黃綠色的線:
objgraphics.DrawLine(system.Drawing. _
Pens.Chartreuse, 0, 0, 100, 100)
這些長長的語句也有好處:改進的功能、適應性和易用性。從前,你要實現先進的
功能就不得不在文檔中挖掘,經常是不得不訴諸API。現在,相關的功能集符合邏輯地包
含在對象里。這種處理方式的另外一個好處就是:類把相關的功能很好的組織了起來。
所以,瀏覽你感興趣的對象,發(fā)現它們做些什么實際上很有意思。
Visual Basic.NET 的面向對象功能提供了很多實在的好處。很多情況下,VB.NET
面向對象的本質和實現的繼承性能幫助你比在以前的 VB 版本里更容易、更迅速地創(chuàng)建
特定類型的功能。然而,你不一定要僅僅因為你能做到,就使用實現繼承性或其它 .NE
T 功能。VB.NET 的新功能使開發(fā)許多類型的應用程序變得更簡單!但是,就像使用所有
的語言能力一樣,你需要使用的是在特定場合下最適合的功能。
自由線程的危險
對于自由線程可能需要特別給出警告。VB6允許你使用獨立的線程來創(chuàng)建多線程服務
器程序,但VB過去從來沒有讓你能創(chuàng)建自由線程的客戶端程序。VB.NET 改變了這一切。
現在,創(chuàng)建自由線程應用程序幾乎成了最微不足道的事情。實際上,我估計那些沒有理
解其中的微妙差別,就在他們的應用程序里添加了自由線程的程序員會遇到很多問題。
只需要幾行代碼就能啟動一個新線程:簡單地將線索對象的地址傳遞給方法,方法本身
就會啟動線程。這確實是很酷也很有用的東西,但你需要小心:這些功能適用于特定的
場合,確定哪些是適用的場合并且明智的使用這些工具則是你自己的事。許多開發(fā)者使
用繼承性和自由線程時給自己找了不少麻煩,請不要讓這些發(fā)生在你身上。
可能大家討論得最多的 VB.NET 特征就是 CLR (通用語言運行庫),VB 運行在它的
頂層上。是 CLR 提供了 VB.NET 的許多關鍵功能。例如,CLR 使實現和跨語言繼承性以
及自由線程成為可能。
分發(fā)VB程序要求你同時分發(fā)VB的運行庫,在VB6里即是msvbvm60.dll。許多其它語言
也有類似的要求,包括 C++ 和 Java。在Visual Studio.NET里,所有的Visual Studio
語言共享同一個運行庫:CLR。這里有幾個較大的變化,首先,所有的Visual Studio語
言現在都共享同一個IDE、同樣的表單引擎、同樣的異常處理機制等等。這意味著Visua
l Basic和像 C#這樣的語言擁有同等的地位,至少差不多是同等的。
回復:
細說VB.NET(中)
(作者:青蘋果工作室編譯 2001年03月07日 14:47)
易于反編譯的中間語言
無論你用VB、C#或其它.NET語言編寫應用程序,VS.NET代碼都編譯成為中間語言(I
L)。當應用程序運行時,一個即時編譯器(JITter)處理IL代碼并把它編譯成為機器語言
。這意味著在理論上可能為Windows以外的平臺創(chuàng)建.NET運行庫,但現在關于類似的事情
還沒有任何官方消息。中間語言的一個缺陷是:它像VB5以前的VB版本一樣,容易被反編
譯。這種可能性使許多開發(fā)者普遍地質疑.NET架構的安全性。
CLR在IL層次內外影響代碼,對它的修改將使所有使用CLR的語言受益。然而,語言
只是和代碼如何被解釋為IL有關,對特定語言的優(yōu)化可以根據特定語言的語法來編寫,
這樣在技術上就可能使.NET語言之間的性能差別很小。不管怎樣,大體上藍圖是美好的
。例如,CLR使VB的調試和監(jiān)測工具和C#的相應工具相當,它做到了這一點因為它們本來
就是相同的工具。
CLR提供不平行的跨語言集成,包括跨語言繼承代碼的能力。所有使用CLR的語言共
享一個通用類型系統(tǒng),它使使用多種語言開發(fā)應用程序變得更簡單。我不喜歡把 C API
聲明翻譯成VB里可以使用的形式,所以我很贊賞通用類型系統(tǒng)帶來的好處。
在CLR中運行的代碼被稱為被管理代碼,被管理代碼使用的內存完全由CLR來控制。
被管理代碼帶來很多好處,包括跨語言集成、跨語言異常處理和簡化的部件相互作用模
型。Visual Basic被限制為只能以被管理代碼的方式工作,然而C#擁有跳到非被管理代
碼的能力(執(zhí)行到運行庫之外),并能做像指針操作這類事情。這是VB和C#不同等的情況
之一。這種能力到底有多重要取決于你想干什么。
CLR造成的體系結構差別要比跨語言集成、共享功能和被管理代碼等深刻。首先,V
isual Studio.NET的支撐結構不是 COM。另外,VB.NET里的所有東西,甚至字符串都是
對象。因為這些和其它一些原因,Microsoft改變了支撐結構處理對象的方式。COM實現
了一個引用計數方案,這樣每次引用一個對象時,計數器遞增。當一個對象引用超出作
用域或被釋放時,計數器遞減,當引用計數減少到零時就終止這個對象。Microsoft聲稱
在.NET架構下引用計數的開銷太大,以至于不能在 .NET中實現它,所以它放棄了引用計
數轉而使用垃圾收集。
垃圾收集需要新體系結構
CLR垃圾收集器主要是監(jiān)視一個程序的資源,當可用資源達到確定的閾值時尋找無用
的對象,并在發(fā)現它們的時候清除這些對象。垃圾收集的一大好處就是你不再需要擔心
大多數普通的循環(huán)引用,即子對象引用了父對象,然后父對象又引用了子對象。在引用
計數方案下,循環(huán)引用使兩個對象都不能被釋放和清除。然而,垃圾收集器會發(fā)現循環(huán)
引用并清除它們。這也意味著釋放對象的最后一個引用時不再需要立即清除對象。
垃圾收集的一個后果是:你再也不能指望一個類的 Terminate 事件能在適當的時機
發(fā)出。實際上,如果線程被阻塞,可能根本就不會發(fā)出 Terminate 事件。和COM提供的
確定化終止相反,它被稱為不確定的終止。缺乏確定化終止,以及因為垃圾收集器重新
安排并壓縮內存從而不能使用指針的事實,在新聞組里激發(fā)了一波激烈的辯論。我想這
些新限制可能會令你痛恨,因為你要依靠確定化終止;也可能你漠不關心,因為你不依
賴 Terminate 事件。垃圾收集并不是萬靈藥,實現弱引用依然需要做一些考慮。
從引用計數到垃圾收集只是 Visual Studio.NET 的支撐結構不是 COM 這個事實的
表象之一。你能在VB.NET中使用COM對象,比如說ActiveX服務器或ActiveX控件。然而,
你必須通過包裝訪問這些對象。任何時候聽到“包裝”這個術語,你應該明白你面對著
性能損失,并且對象的行為可能有所不同。如果當計劃移植一個使用了大量COM對象的工
程,就需要認真地測試和計劃,可能需要重新規(guī)劃應用程序的結構才能移植成功。坦率
地說,你要有遭受挫折的準備。還記得從VBX遷移到 OCX的過程嗎?我記得,我的精神病
醫(yī)生也記得。我很快就要再去看他了 ;-)
語言本身的變化要遠遠超過體系結構的變化。大部分改變確有道理,但我并不認為
所有的改變都是如此。以前版本的VB允許你以很多方法來做很多事,以至于統(tǒng)一的編碼
標準要么不存在要么就很難強加于人。Microsoft對VB做了大量的改變?yōu)榈木褪恰扒逦?/p>
這種語言。很多情況下,原來你有好幾種方法做一件事,現在就只有一種了。Billy Ho
llis 提供了語法變化的詳細列表,包括廢棄的關鍵字列表,但有些東西需要在這里重復
一下。
首先,向過程參數傳遞數據的默認方法由引用(ByRef)變成了傳值(ByVal)。這個改
變主要是因為引用要比傳值的風險大得多。它的風險主要是調用過程中的數據可能被無
意中篡改。你仍然能通過引用傳遞數據,但這一改變使你需要修改新的默認調用方法來
使用引用。
Set語句消失了
其次,Set 語句消失了。在 VB.NET 里如果你需要向變量傳遞一個對象引用,所需
要的只是一個等號,對象被視為同其它值一樣。這很酷,但也有副作用:默認屬性消失
了。例如,你不再能用這種方式引用一個屬性:
Text1 = "What, me worry?"
作為替代,你必須顯式地引用屬性:
Text1.Text = "What, me worry?"
也許一眼看來不需要這種改變,但確實必須去掉默認屬性。例如,假定你有一個叫
objFoo的對象變量,不用Set語句,下面的語句所設置的引用就產生了歧義性:
objFoo = Text1
這條語句是應該設置到Text1的引用,還是以Text1的Text屬性來填充objFoo?你不
能確定,編譯器也不能。拋棄Set語句同時要求拋棄默認屬性。
有一個改變我不喜歡:你不再能在不同的作用域里聲明Property Get和Property S
et過程。注意 VB.NET 沒有 Property Let 語句:對象和數值都用 Property Set。這意
味著你不能用一個 Friend Property Let 過程來對應一個 Public Property Get。用V
B建立組件時可能會有麻煩。許多組件開發(fā)者創(chuàng)建 Friend Property Set 過程以使他們
的應用程序能改變一個值,但提供 Public Property Get 過程以使他們的客戶程序能取
回值。我希望我能為這個改變找到一個合適的理由,可是我找不到。
Microsoft說它力圖使語言保持清晰并使之現代化—大部分情況下它做得不錯—但這
個作用域問題和其它幾個問題令人感到困惑。例如,While...Wend 很早以前就應該消失
了,因為 Do...Loop 完成同樣的功能。然而,Microsoft 不僅沒能去掉 While...Wend
,還把它改成了 While...End While 來給自己找了更多的麻煩。真奇怪!
我最不喜歡的改變是:Microsoft改變了你已經使用的數據類型含義。在 .NET 里,
Integer 現在是 32 位,而 Long 變成了 64 位。我心存恐懼地想:開發(fā)者 (包括我自
己) 會多么頻繁地使用錯誤的變量啊。那個API到底是接受一個16位的 Integer還是32位
的?老天!我希望Microsoft重新考慮這個決定并使用新的變量類型,比如Int32和Long
64。無論遷移到 VB.NET的移植工具是多么的好,它也不能改變開發(fā)者的記憶。為什么要
逼著我們再學一遍普通的數據類型呢?
最后,最需要的一個改變是:VB.NET引入了 Option Strict 關鍵字,你可以使用它
來代替 Option Explicit。Option Strict 結束了萬惡的類型強制(tm),通過它VB樂于
讓你把一個數值賦值給一個字符串,然后像犯罪一樣做另一個操作。設置 Option Stri
ct 告訴 Visual Basic.NET 不要為你做任何類型強制。注意 VB.NET 并不是徹底的控制
狂,它允許類型向下轉換,但不允許向上。例如,不使用像 sngvariable = CSng(dblv
ariable) 這樣的語句進行顯式類型轉換,你就不能把聲明為 Single 的變量賦值給聲明
為 Double 的變量。因為這有丟失數據的風險。然而,你能不使用顯式類型轉換就把聲
明為 Double 的變量賦值給聲明為 Single 的變量,因為這并沒有丟失數據的危險。使
用 Option Strict 能幫助開發(fā)者減少很多類型錯誤,包括那些很難調錯的。但有一個附
加的缺陷:在工程里使用了 Option Strict 后,就不能進行 后編聯(lián)了。
回復:
細說VB.NET(下)
(作者:青蘋果工作室編譯 2001年03月07日 14:47)
表單和新IDE面孔
Visual Basic.NET 的面向對象功能很偉大,但第一次啟動 VB.NET 時還注意不到它
。可能你注意到的第一件事是它的 IDE。IDE看起來可能很熟悉,建立VS.NET IDE的團隊
以前的工作是開發(fā)VB的IDE,對IDE的增強借鑒了VB IDE的經驗。
同時,IDE的改變遠比外表顯示的深刻。所有.NET語言使用相同的IDE,并且IDE中的
新工具功能強大又易于理解。你能把任何一個設計窗口設置為自動隱藏 (就像你能自動
隱藏Windows任務欄那樣),這樣就大大地減少了混亂。主工作區(qū)域是一系列選項卡,這
意味著IDE不再同時顯式多個表單和代碼模塊。當打開對象的源代碼時,IDE在它的主工
作區(qū)域為工作的對象添加一個新的選項卡。
IDE還包括一個叫作任務表(Task List)的新窗口。它的內容由IDE創(chuàng)建的項目組成。
例如,如果在試圖編譯一個工程時收到一個錯誤,VB在任務表里創(chuàng)建一個項目來解釋這
個錯誤。你能直接向任務表里添加項目,或者通過在代碼里以 "TODO:"開始一個注釋行
,你可以在代碼位置和任務之間建立聯(lián)系。我喜歡Microsoft實現任務表的方式;在程序
出爐前,都需要完成些什么?估計它能幫我省掉很多時間和麻煩??吹剿鼤r,你最容易
產生的一個想法就是:以前怎么就沒人想到它呢?
你能注意到的另一個變化就是:VB.NET的表單。Microsoft廢棄了舊的表單引擎而使
用Windows Form代替它。所有基于 CLR的語言都使用Windows Form引擎。相對于VB6的表
單引擎,它有幾個重要的改進。例如,Windows Form讓你能創(chuàng)建能自動調整組件尺寸的
表單,并允許將控件錨定在表單里的特定位置。換句話說,不再需要使用第三方控件就
能完成這些特殊任務。Windows Form還允許表演像透明表單這樣的很酷的技術。
過去,VB隱藏了建立表單的所有魔術。你使用IDE設計表單并把代碼添加到Initial
ize事件上,但你沒有手段來控制這兩點之間的過程?,F在,表單就是一個類,它包含用
來建立表單所有的代碼。我把這些代碼稱為肥料代碼,因為大多數開發(fā)者希望遠遠離開
它們,越遠越好。要想可靠地弄壞你的程序,沒有比折騰這些代碼更好的辦法了。另一
方面,技術嫻熟的用戶可以通過這些代碼做很多很酷的事,因為它讓你能走到VB.NET表
單的幕后。要是你不想看到這些代碼你也能不看,因為新代碼編輯器有展開和折疊代碼
區(qū)的功能,并且這些肥料代碼是默認折疊的。代碼編輯器還有幾個很酷的新功能。例如
,現在它自動為你縮排所有代碼(而且還干得不錯),它還有內置的顯示行號功能。
創(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的瀏覽器。
底層結構捕獲客戶端上的事件數據,并把它發(fā)送給服務器。這意味著可以使用各種
用戶界面工具,可以利用現有的表單設計技巧,而且應用程序界面是不依賴瀏覽器的。
如果可以放棄不依賴瀏覽器,你還有另一個選擇來利用Internet Explorer 某些功能特
有的優(yōu)勢。Web Form使支持Web的應用程序能更容易地創(chuàng)建更好、更豐富多彩的用戶界面
。
Web服務策略
VB.NET里的另外一個重要的面向Web的功能是:Web服務。Microsoft的市場部門把W
eb服務列為采用.NET的幾大理由之一。實際上,Web服務的本質就是使用標準協(xié)議的、由
Web服務器提供的、類似于COM的對象。注意在技術上它們并不是COM對象,但和COM對象
的表現方式很相像。Microsoft希望看到所有的公司使用Web服務,并且未來的應用程序
可以簡單地“粘”在不同的Web服務上,就像現在可以使用Visual Basic for Applicat
ions (VBA)建立基于Office和支持VBA的程序的解決方案一樣。
在PDC上,對于它希望開發(fā)者如何“粘”在這些服務上,Microsoft提供的一個演示
程序給出了很好的例子。在這個演示程序里,一個假想的診所通過Web服務提供預約系統(tǒng)
,演示了你可以怎樣使用智能電話通過Web進行預約。Visual Basic.NET 甚至會允許你
查詢服務器,并獲得關于服務器能支持的所有Web服務的相關數據。通過IntelliSense
dropdown這個絕對有用的工具,程序員可以訪問Web服務。Web服務是Microsoft雄心勃勃
的戰(zhàn)略,但只有時間才能檢驗它是否能成功地被廣泛接納。
Microsoft試圖消除與包裝和分發(fā)應用程序相關的問題,包括令人恐懼的DLL。所有
.NET應用程序被封裝為元件。元件包含著數據以描述它運行所需的東西。這些數據被稱
為貨單,包括很多信息,例如:元件身份(名稱、版本等等);一個列出了所有文件之間
的依賴關系的表,以及它們的位置和版本;包括DLL相關數據的外部依賴關系信息;還有
其它元件需要而開發(fā)者沒有創(chuàng)建的資源。元件是自說明的(通過它們的貨單),所以.NET
應用程序不需要修改注冊表才能工作。換句話說,你不再需要注冊表組件。在最好的情
況下,即客戶機里已經有了.NET運行庫時,分發(fā)一個復雜的應用程序可能只是把一個文
件夾復制到目標機器上這么簡單的事。元件的另一個好處是:你可以讓不同的應用程序
使用同一個DLL的不同版本,并且協(xié)調地運行在一臺機器上。如果所有這些都可以像計劃
中那樣工作,有關DLL的地獄和版本的噩夢就將成為往事。
正確之路
Microsoft徹底更新了它的技術,而不僅僅是核心語言。例如,在Visual Studio.N
ET里同時提供了ADO.NET,這是有特殊優(yōu)點的下一代ActiveX Data Objects (ADO) 版本
。它的一個靈活改變是:ADO.NET用Extensible Markup Language (XML)作為在組件之間
傳遞數據集的格式。這意味著接收組件不一定必須是ADO.NET組件,同時接收組件可以接
受任何XML 格式的數據集。談到XML,它支撐著VS.NET中的任何東西,從配置文件到遠端
過程調用。ADO.NET在處理斷開的數據集時比 ADO的性能要好,并且具有更好的伸縮性。
Visual Basic.NET對我們都很熟悉的VB做了重要的改變。C++革命性地跳躍到.NET后
有了一個新名字:C#,而Visual Basic的名字沒變。然而,如果你把VB.NET當作語法相
似的一門新語言而不是簡單的“升級”,可能掌握起來就要容易一些。本文給你一個起
點,但吸收掌握各種知識,并對未來做出有根據的決定是一個艱苦的過程,它只是這個
過程的一條起跑線。我不知道.NET會有多么成功,它的很多地方吸引我,但有些地方并
非如此。這個工具做了大量承諾,它夸耀很多功能能使 VB開發(fā)者更簡單地創(chuàng)建更有伸縮
性的高端應用程序。最后,它的成功將取決于開發(fā)者能多好地將它應用于現實世界??v
觀Microsoft在PDC和Beta 1版本之間的性能和穩(wěn)定性上所跨過的這一步,我堅定地認為
:Microsoft走對了路!
是呀,在軟件專業(yè)領域中,VB真的是落伍了,如果只是想了解編程或非專業(yè)的偶爾寫些應用程序是可以的,但軟件專業(yè)人員不會用它,
VB的弱點在于性能,靈活性等方面。
它有面向對象的思想但不是純面向對象,
它不能象C/C++/JAVA/PASCAL那樣編寫多線程程序,無法象C/C++那樣控制系統(tǒng)底層,
VB不是專門針對網絡應用而生的語言,它不象JAVA那樣流淌著網絡的精神,也沒有其跨平臺的磅薄氣勢,所以在互聯(lián)網和新興的嵌入式開發(fā)之中步履蹣跚。
VB是基于BASIC的,生成的exe文件要靠編譯器逐行解釋。這就會導致效率不高,大多數VB程序都需要一系列的動態(tài)連接庫以及注冊組件的配合才能運行,所以就造成某個軟件在一臺機子上運行可以,但到了另外一臺機子就運行不起來了。這也就造成了VB軟件的推廣問題。
總而言之,如果你想進入軟件行業(yè),VB是遠遠不夠的,但如果你只想做些應用,比如你是當會計,想寫個會計數據庫程序,或者用VB script寫些動態(tài)網頁,甚至編寫小病毒,都是沒有問題的,VB高手也是高手,能人所不能,但是VB英雄遲暮,廉頗老已,這也是不爭的事實了。雖說微軟仍沒有放棄B語言,.net架構上依然有VB.net與c#爭輝,但vb.net已經不是以往意義上的VB了,更像是披著VB語法的皮,實質上已經拋棄了傳統(tǒng)VB的本質。
所以如果想學編程,做數據庫的學DELPHI,做網絡和嵌入式開發(fā)的用JAVA/C#,想通殺的學C/C++,DELPHI/JAVA/C#都是比較容易入門的。
BUT,呵呵,即使是一個出色的程序員,那又怎么樣呢?還不是當別人的打工仔?只有深諳技術而跳出技術,才有真正的光明前途。
基本常識
掌握一門.NET面向對象語言,C#或VB.NET 我強烈反對在沒系統(tǒng)學過一門面向對象(OO)語言的前提下去學ASP.NET。 ASP.NET是一個全面向對象的技術,那絕對學不下去!
第一步 對.NET Framework類庫有一定的了解 可以通過開發(fā)Windows Form應用程序來學習.NET Framework。ASP.NET是建構在.NET Framework之上的技術,你對.NET Framework了解得越深,學習ASP.NET就越快。 舉個例子:下面簡單列出幾個對掌握ASP.NET非常重要的概念: 對象的內存模型,委托,事件,多線程,程序集和應用程序域,安全模型 .NET Framework當然還有許多其它的東西,但不理解與把握清楚上述這些東西,是很難真正把握ASP.NET的。 出于急迫的心情與現實的考慮,不少人沒有扎實的面向對象基礎就想直接學習ASP.NET,其結果只能是欲速則不達。 在具備了OO基礎之后,以下是具體的學習ASP.NET技術步驟。 第一步:學習HTML與CSS 這并不需要去學一大堆的諸如Dreamweaver,Firework之類的各種網頁設計工具,關鍵是理解HTML網頁嵌套的block結構與CSS的box模型。許多ASP.NET控件最后都必須轉化為HTML。而且,div+CSS是當前主流的網頁布局模型。 學習這部分時,關鍵在于理解概念,而不需要將精力花在美化頁面的許多技巧上,那是網站美工的工作,不是程序員的工作。
第二步:學習JavaScript JavaScript不是Java,它主要運行于瀏覽器端??梢酝瓿稍S多工作,功能也很強大:比如它將客戶端網頁中的HTML元素看成一棵樹,可以編寫代碼訪問并修改樹節(jié)點,動態(tài)生成新的HTML代碼,從而達到動態(tài)修改網頁顯示特性的目的。 JavaScript在目前的網站開發(fā)中用得很多,非常重要。 另外,它也是目前非常流行的AJAX技術的基礎。
第三步:學習計算機網絡原理 找一本大學計算機網絡教材,重點看看它的有關互聯(lián)網的部分,了解一些域名解析和HTTP協(xié)議等知識。這是進行互聯(lián)網開發(fā)的理論基礎。
第四步:學習ASP.NET表示層技術,會設計Web頁面 需要結合先前打好的面向對象技術的基礎,至少掌握以下內容:
(1) 各種Web控件的使用方法,
(2) 理解信息在網頁中的傳送方式,比如Cookie,ViewState,Session等的使用。
(3) ASP.NET應用程序與網頁的生命周期,以及相關對象(比如httpcontext,response,request)的用途。
(4) ASP.NET實現事件驅動的內幕
(5) 自定義用戶控件 再次強調一下,沒有OO基礎,很難掌握上述技術,就只能被這些東東牽著鼻子走了,會很被動。
第五步 掌握數據庫技術 具體地說,要學習以下內容:
(1) 學會使用SQL Server 2005:不要求精通它的各種工具與管理配置技術,但至少知道如何連接,如何建表,如何創(chuàng)建存儲過程
(2) 學習ADO.NET,掌握使用代碼人工訪問數據庫(別用VS2005的向導)的方法
(3) 學習數據綁定控件的使用
第六步 理解多層架構 這時,先前在OO學習階段涉及到的程序集與應用程序域等就派上用場了,現在,網站架構大多采用多層架構:表示層、業(yè)務邏輯層、數據存取層以及數據庫本身。 可以先上網找一此多層架構的資料看,再找一個現成的比較復雜的開源ASP.NET項目分析一下其架構就差不多了。基本上都是一個套路,到處應用。 有的朋友問:學習架構是不是必須學習設計模式。 我的看法是:不必!當然,你如果學習過設計模式,那當然更好。但在實際開發(fā)中,如果只想著機械地套用某種模式,反而起不到好的結果。我的觀點:在學習設計模式時要多思多悟,其思想就會漸漸地融入你的大腦,在真實的設計實踐中,忘掉所有的寫在書上的模式,一切從實際出發(fā),相信你的直覺,只要達到設計要求的方案就是可行的方案,事實上,你這樣做了之后,回過頭來再看,會發(fā)現你的設計往往暗合設計模式的理論。
第七步 學習XML與Web Service 先了解XML的基礎知識,找本講XML的書看一下就差不多了,然后,再學習Web Service。Web Service其實可類比為遠程方法調用(以XML格式表達的調用信息)。 學 到了這里,如果你還有興趣,不妨再去看看SOA,不過SOA的資料都是理論與概念,看起來比較郁悶,而且離實際開發(fā)可能比較遠。所以,這是可選項。
第八步 學習AJAX 學習AJAX的主要目的是創(chuàng)建具有更豐富特性的Web表示層,而經過前面七步的學習,到此再學習AJAX已水到渠成,所有的基礎都已具備,不會有太大的問題了。 在基礎未具備的前提下直接學AJAX,就象“浮沙之上筑高臺”,所以,將AJAX的學習次序安排在這里。
第九步 學習RIA技術 RIA:Rich internet application,可看成是將C/S與B/S優(yōu)點合二為一的嘗試。就具體技術來說,主要指微軟的Silverlight(WPF_E),畢竟前頭一路行來都是微軟路線。
參考書籍
1.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:Microsoft .NET框架程序設計(修訂版)
作者:Jeffrey Richter
譯者:李建忠
出版日期:2003 年11月
出版社:清華大學出版社
推薦理由:框架設計是我看的第一本真正意義上的.NET書籍,之前看過很多,但都是工具類的。如果僅僅把.NET作為開發(fā)程序的工具,那些書就足夠了。但是.NET絕不僅僅是個工具,它是一種思想、一個平臺。要想深入學習,必須對其Framework有所了解?!禡icrosoft .NET框架程序設計(修訂版)》無疑是學習.NET Framework最好的一本。李健忠老師的翻譯通俗流暢,并且字里行間流露著他對.NET的深刻理解。這本書陪伴我度過了研究生期間很多無聊的課程。不過初學者看這本書開始也許會很費勁,有一次一個同搞.NET的同學拿過去翻了翻就扔給了我,說:看不懂。
2.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:重構:改善既有代碼的設計(中文版)
作者:Martin Fowler
譯者:侯捷,熊節(jié)
出版日期:2003 年9月
出版社:中國電力出版社
推薦理由: 重構,這個既簡單又深奧的概念直到現在仍然吸引著廣大設計愛好者。幾年前當我?guī)缀醣贿@個名詞弄暈的時候,我找到了這本書——重構的誕生地。它同樣是我的“課堂書籍”。與《框架設計》不同的是,它的概念和理論十分簡單,即使對編程只有一點點的認識,也能很愜意的閱讀本書。因為它所闡述的,就是我們程序員平時所做的——修改代碼。但如何更好的修改,使其更符合OO標準,又是一個非常復雜的過程。
3.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:敏捷軟件開發(fā):原則、模式與實踐
作者:Robert C. Martin
譯者:鄧輝
出版日期:2003 年9月
出版社:清華大學出版社
推薦理由: Bob大叔最膾炙人口的作品。如果你看過《設計模式》與《重構》,那么推薦你接著看這本,對于設計模式的理解就會上升一個層次。熟練掌握各種設計原則,我們就不必再死記那些刻板的模式。只要我們的設計復合原則,就是一個良好的設計?!对O計模式》、《重構》和《敏捷軟件開發(fā)》是設計愛好者必讀的三本書。
4.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:ASP.NET 2.0揭秘
作者:Stephen Walther
譯者:譚振林,黎志,朱興林,馬士杰
出版日期:2007 年10月
出版社:人民郵電出版社
推薦理由:將近一年沒有搞ASP.NET了,因此這本書買來也束之高閣。但此書1.1版本卻令我印象深刻。當年就是那本綠皮的《ASP.NET揭秘》把我領進了ASP.NET的殿堂。我甚至一度認為其它的ASP.NET書都是垃圾(特別是清華大學出版的Wrox的紅皮書,其實是翻譯的太爛)。雖然2.0版本的中文版姍姍來遲,但是我仍然認為它值得收藏。特別是四位國內MVP的加盟,一定不會讓人失望。越來越多的技術高手加入到寫書譯書的隊伍中來,會徹底改變國內翻譯書籍沒法看的尷尬局面。
5.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:Head First設計模式(中文版)
作者:Eric Freeman,Elisabeth Freeman,With Kathy ierra,Bert Bates
譯者:O'Reilly Taiwan公司
出版日期:2007 年9月
出版社: 中國電力出版社
推薦理由:這是一本讓人拍案叫絕的書,它用淺顯風趣的語言和別具一格的表現形式,把《設計模式》中天書一般的理論展現的精妙絕倫。如果你對設計模式還一知半解,或被《設計模式》中晦澀的文字搞得暈頭轉向,那么趕快來閱讀本書吧。然而從某種意義上說,《Head First設計模式》是一本不能看的書,因為你一旦看過,會對其它的書倍感失望。所謂曾經滄海難為水是也。
6.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:重構與模式
作者:Joshua Kerievsky
譯者:楊光,劉基誠
出版日期:2006 年12月
出版社:人民郵電出版社
推薦理由:很遺憾,我是在看完《Head First設計模式》后看得這本書,因此對其語言的易讀性很是失望。甚至一度把它放回了書架上。但是這并不代表它不是一本經典書。它將重構與模式完美的結合,使我們明白了設計是按照設計原則將代碼重構成模式的過程。
7.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:C#和.NET 2.0 實戰(zhàn):平臺、語言與框架
作者:Patrick Smacchia
譯者:施凡,李永倫,譚穎華,徐寧
出版日期:2008 年1月
出版社:人民郵電出版社
推薦理由:不管你使用什么語言進行開發(fā),都希望手頭有一本大而全的參考書。否則東一本框架、西一本語法,南一本WinForm,北一本ASP.NET,會把人搞得很崩潰。盡管Google和百度在絕大多數情況下可以解決問題,但是萬一沒有網絡呢?《C#和.NET 2.0 實戰(zhàn)》就是這樣一本書,它包羅.NET的萬象,編程時遇到任何問題都可以先翻開本書尋找答案。如果你是一個.NET程序員,案邊放這樣一本書是再適合不過了。我在讀書小組推薦過這本書。
8.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:企業(yè)應用架構模式
作者:Martin Fowler
譯者:王懷民,周斌
出版日期:2004 年7月
出版社:機械工業(yè)出版社
推薦理由: 秉承Martin Fowler一貫的通俗易懂的寫作風格,用最淺顯的語言描述復雜的概念。書中所列舉的各種模式,我們肯定都或多或少使用過。本書是分層設計的指導書。
9. 推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:.NET 設計規(guī)范——.NET約定、慣用法與模式
作者:Krzysztof Cwalina,Brad Abrams
譯者:葛子昂
出版日期:2006 年7月
出版社: 人民郵電出版社
推薦理由: 你是否修改過別人的代碼?你是否因為混亂的命名規(guī)則和晦澀的變量名稱抓狂?如果所有.NET程序員都讀過《.NET 設計規(guī)范》,這一切也許就不會發(fā)生了。它雖然名稱為“Framework Design Guidelines”,但實際上不僅僅是指導我們如何編寫框架,它本身就是.NET Framework的設計規(guī)范。我們平時在做任何開發(fā),哪怕是最簡單的工具時,也應該遵循書中所提出的標準。
10.推薦幾本書(.net) - 曠野 - 笑著“留”淚
書名:設計模式:可復用面向對象軟件的基礎
作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides
譯者:李英軍,馬曉星,蔡敏,劉建中
出版日期:2004 年9月
出版社: 機械工業(yè)出版社
推薦理由:之所以最后推薦本書,并不是因為它不如前幾本,相反,它應該是所有設計愛好者的第一本書。但它太晦澀了,它就像是一本武林秘籍,不是所有人都能參透其中的奧秘。然而幸好很多高手練成絕世武功后,把他們的心得寫了出來,這些心得要好理解得多。因此《Head First設計模式》、《設計模式解析》、《Java與模式》等應該稱為設計模式初學者的首選。
是的,asp.net vb.ne c#都是.net框架下的語言.
XP和windows2000 都是微軟的系統(tǒng),都是基于NT核心的操作系統(tǒng),區(qū)別在于XP是2000的升級版.XP版本中沒有SERVER版的系統(tǒng),而2000和XP二個不同時期的版本中都各有不同的衍生版本,用做不同的用途,比如2000下有SERVER版和Professional版,而SERVER又分為數據版和網絡服務版等幾個版本,XP的衍生版本比2000還多,你可以自己去查一下。
UNIX和LINUX也是同一個核心的系統(tǒng),其是核心是用C寫出來的??梢哉fLINUX是由UNIX的核心改寫出來的,也可以說是擴展。由于他是開源系統(tǒng)所以源代碼是公開的因此相關的版本更多,你也可以去網上查一下,UNIX用的最多的是IBM,HP,和JAVA的老家。LINUX是中小企業(yè)用的多,因為不用花錢,沒有版權問題(非共享版)。
WIN和UNIX是二個不同的系統(tǒng)平臺,雖然現在在硬件上還算是共用,可是從驅動和應用軟件上都是不可以共用的,也就是說在WIN下的軟件大多數是不可以用在UNIX(LINUX)上的。
UNIX只是一個系統(tǒng),不要以為它是服務器專用,只是因為他用在服務器上的比用在其他方的多,所以大多數人的想法里會把UNIX放在服務器系統(tǒng)里,其實很多嵌入系統(tǒng)都在用UNIX。
如果你已經有較多的面向對象開發(fā)經驗,跳過以下這兩步:
第一步 掌握一門.NET面向對象語言,C#或VB.NET。
我強烈反對在沒系統(tǒng)學過一門面向對象(OO)語言的前提下去學ASP.NET。
ASP.NET是一個全面向對象的技術,不懂OO,那絕對學不下去!
第二步 對.NET Framework類庫有一定的了解
可以通過開發(fā)Windows Form應用程序來學習.NET Framework。ASP.NET是建構在.NET Framework之上的技術,你對.NET Framework了解得越深,學習ASP.NET就越快。
舉個例子:下面簡單列出幾個對掌握ASP.NET非常重要的概念:
對象的內存模型,委托,事件,多線程,程序集和應用程序域,安全模型.NET Framework當然還有許多其它的東西,但不理解與把握清楚上述這些東西,是很難真正把握ASP.NET的。
出于急迫的心情與現實的考慮,不少人沒有扎實的面向對象基礎就想直接學習ASP.NET,其結果只能是欲速則不達。
在具備了OO基礎之后,以下是具體的學習ASP.NET技術步驟。
第一步:學習HTML與CSS
這并不需要去學一大堆的諸如Dreamweaver,Firework之類的各種網頁設計工具,關鍵是理解HTML網頁嵌套的block結構與CSS的box模型。許多ASP.NET控件最后都必須轉化為HTML。而且,div+CSS是當前主流的網頁布局模型。
學習這部分時,關鍵在于理解概念,而不需要將精力花在美化頁面的許多技巧上,那是網站美工的工作,不是程序員的工作。
第二步:學習JavaScript。
JavaScript不是Java,它主要運行于瀏覽器端。可以完成許多工作,功能也很強大:比如它將客戶端網頁中的HTML元素看成一棵樹,可以編寫代碼訪問并修改樹節(jié)點,動態(tài)生成新的HTML代碼,從而達到動態(tài)修改網頁顯示特性的目的。
JavaScript在目前的網站開發(fā)中用得很多,非常重要。
另外,它也是目前非常流行的AJAX技術的基礎。
第三步:學習計算機網絡原理
找一本大學<計算機網絡>教材,重點看看它的有關互聯(lián)網的部分,了解一些域名解析和HTTP協(xié)議等知識。這是進行互聯(lián)網開發(fā)的理論基礎。
第四步:學習ASP.NET表示層技術,會設計Web頁面
需要結合先前打好的面向對象技術的基礎,至少掌握以下內容:
(1)各種Web控件的使用方法;
(2)理解信息在網頁中的傳送方式,比如Cookie,ViewState,Session等的使用;
(3)ASP.NET應用程序與網頁的生命周期,以及相關對象(比如httpcontext,response,request)的用途;
(4)ASP.NET實現事件驅動的內幕;
(5)自定義用戶控件。
再次強調一下,沒有OO基礎,很難掌握上述技術,就只能被這些東東牽著鼻子走了,會很被動。
第五步 掌握數據庫技術
具體地說,要學習以下內容:
(1)學會使用SQL Server 2005:不要求精通它的各種工具與管理配置技術,但至少知道如何連接,如何建表,如何創(chuàng)建存儲過程;
(2)學習ADO.NET,掌握使用代碼人工訪問數據庫(別用VS2005的向導)的方法;
(3)學習數據綁定控件的使用。
第六步 理解多層架構
這時,先前在OO學習階段涉及到的程序集與應用程序域等就派上用場了,現在,網站架構大多采用多層架構:表示層、業(yè)務邏輯層、數據存取層以及數據庫本身。
可以先上網找一此多層架構的資料看,再找一個現成的比較復雜的開源ASP.NET項目分析一下其架構就差不多了。基本上都是一個套路,到處應用。
有的朋友問:學習架構是不是必須學習設計模式。
我的看法是:不必!當然,你如果學習過設計模式,那當然更好。但在實際開發(fā)中,如果只想著機械地套用某種模式,反而起不到好的結果。我的觀點:在學習設計模式時要多思多悟,其思想就會漸漸地融入你的大腦,在真實的設計實踐中,忘掉所有的寫在書上的模式,一切從實際出發(fā),相信你的直覺,只要達到設計要求的方案就是可行的方案,事實上,你這樣做了之后,回過頭來再看,會發(fā)現你的設計往往暗合設計模式的理論。
第七步 學習XML與Web Service
先了解XML的基礎知識,找本講XML的書看一下就差不多了,然后,再學習Web Service。Web Service其實可類比為遠程方法調用(以XML格式表達的調用信息)。
學到了這里,如果你還有興趣,不妨再去看看SOA,不過SOA的資料都是理論與概念,看起來比較郁悶,而且離實際開發(fā)可能比較遠。所以,這是可選項。
第八步 學習AJAX
學習AJAX的主要目的是創(chuàng)建具有更豐富特性的Web表示層,而經過前面七步的學習,到此再學習AJAX已水到渠成,所有的基礎都已具備,不會有太大的問題了。
在基礎未具備的前提下直接學AJAX,就象“浮沙之上筑高臺”,所以,將AJAX的學習次序安排在這里。
第九步 學習RIA技術
RIA:Rich internet application,可看成是將C/S與B/S優(yōu)點合二為一的嘗試。就具體技術來說,主要指微軟的Silverlight(WPF_E),畢竟前頭一路行來都是微軟路線。
不過目前學習它主要是為了技術儲備。估計此技術的普及需要2到3年的時間,因為預裝Vista的機器今年才開始大賣。
至此,九陽神功大功告成,您可以靠此神功行走江湖了。
奉上此文,供和我一樣的朋友們學習之用。昨天電腦中毒,QQ被盜了一個,提醒大家小心木馬,我的好QQ至今沒能要回來,心已是涼了一半,工作壓力又大,很多同事奔走告別,也許辭職是遲早的事情吧。
網頁題目:vb.net架構學習 vbnet開發(fā)環(huán)境
文章鏈接:http://jinyejixie.com/article44/dosdcee.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網頁設計公司、品牌網站建設、自適應網站、做網站、虛擬主機、網站策劃
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)