回首頁

線上論壇

線上資源

資源下載

新聞與活動

技術文章

關於Move-To.NET

Whidbey專欄

徵才&接案

登入
加入會員

還沒成為會員嗎?
趕快加入吧~

網站後台
累計:52861小時未停機
伺服器平台: 程式平台: 開發工具: 資料庫:
建置人力: 2 人-週
語言: C#/VB.NET
主機:HP-ProLiant
機型:DL380 G3

Visual Studio .NET 學習之路

Posted by on Friday, August 15, 2003 (台)

由 弈飛資訊首席顧問/台灣微軟特約資深講師 李 清 培 先生帶領大家邁向.NET學習之路。

離線閱讀檔案,可至『線上資源 > 技術文章』處下載。

 

 

Visual Studio .NET 學習之路
弈飛資訊首席顧問 / 台灣微軟特約資深講師

李 清 培

摘要

本文將介紹.NET的整體架構,以及Visual Studio .NET的完整學習路徑。在簡略介紹.NET應用程式架構之後,將依程式設計語言、.NET Framework、.NET應用程式、Web 服務四大主題介紹.NET完整的學習路徑,不論是資深的程式設計師或程式的初學者都能快速的掌握Visual Studio .NET的核心技術。

另一方面Microsoft為了建立.NET應用程式開發能力的認證標準,特別針對Visual Stidio.NET推出了兩項認證,MCAD與MCSD.NET,本文將一併介紹相關認證的需求,以及參考資源。

為什麼是.NET?為什麼叫.NET?

在進入.NET學習路徑之前,我們先要了解什麼是.NET,以及為什麼叫.NET。

.NET解決新一代網際網路應用程式的需求

由於全球將近有三十億的人口使用Web,企業與企業間的互動日趨頻繁,使用者對網站的要求不單單只有瀏覽資訊而已,更希望能夠編輯、分析與交換資料等,企業開始期待一個嶄新的程式架構,希望能夠讓應用程式、裝置、與企業流程能夠充份的協同合作。Microsoft 為了解決以上的問題,便提出了一套以Web Service 為核心的解決方案Microsoft .NET。

.NET的時代, Internet即是作業平台

Microsoft .NET延伸了來自Internet及作業系統的概念,讓Internet本身成為新作業系統的基礎,也就是說,在.NET的時代,程式開發者的作業系統是架構在整個Internet之上,如此將使開發人員可以輕易的建構出程式,而不再受周邊裝置的侷限,並可透過應用程式充分與網際網路連結。

 

.NET學習路徑

在教學的過程中常有學生問到學習Visual Basic必須具備什麼條件,我常以半開玩笑的語調回答,只要會小畫家就可以了。然而在10 年前,想要編寫一個視窗應用程式並不是件容易的事。直到 Visual Basic 的誕生,程式開發人員才開始體會到開發 WindowsR 應用程式是如此簡便,就像畫圖一樣把控制項拖曳到表單上就可以了,對一個像我這樣寫了幾年結構化程式的人而言,真是一大震撼。

同樣的,在.NET的學習上,跟十年前比較起來,也不是那麼困難,但是若要能隨心所慾的發揮功能,還是必須下些功夫。首先,建議您儘快體驗 Visual Studio .NET 產品,只是看書、聽研討會,不如實際動手操作,以熟悉Visual Studio .NET的整合開發環境(IDE)。在這一方面Microsoft提供了許多的Sample Code可供練習;或是參加CTEC所舉辦各樣主題的一日體驗課程。

接下來則建議依下列四個步驟進行學習:

熟悉您要使用的程式設計語言

目前支援.NET的語言共有二十五種,內建於Visual Studio .NET的程式語言則有Visual C++、Visual Basic .NET、Visual C# .NET,其中VB.NET與C#可以說是為.NET所量身訂作的,因此在此建議以這兩種語言為主。

至於選擇那一種語言全看個人的背景,近年來,VB的開發者希望Microsoft能推出更強大、程式架構的開發語言以符合企業的需求;而 C++ 的開發者則希望能Microsoft在整合開發環境 (IDE)裡,像VB一樣,提供新的快速應用開發(RAD)特性以提高開發效率效率。這也是Microsoft發表 Visual Basic .NET 和 C# 的主要原因。

因此如果您原本學習C++或Java,可以選擇C#,跟C++與Java比較起來,C#除了九成以上雷同,整體的語法更是精煉而優美,C#同時也經審核通過成為一種工業標準的語言。至於原本學習VB的朋友,建議直接使用VB.NET,雖然在台灣,學習C++有一種強列的優越感,但是如果使用的是 ”Visual”,重在快速開發,VB其實是很好的選擇,目前全球約有八百萬人使用VB開發程式。

至於語言的效能上,由於.NET應用程式架購是採取兩階段式的編譯,第一階段先將程式語言透過專屬的編譯器編譯成中繼語言,第二階段在由.NET Framework的成員Common Language Runtime將IL最佳化之後編譯成機械碼。(限於篇幅在此不多加贅述,可參考MSDN相關資料,或下載筆者在TechEd及PDC研討會資料。)也就是說,無論用什麼語言,都必須“翻譯”成IL,因此也沒有什麼效能上的分別了。

學習使用 Microsoft .NET Framework

在開發分散式應用程式時,除了快速開發工具以外,還必須有一套整合與服務這些程式組件的中介軟體,且這一套中介軟體必須能與作業系統充分整合、使用系統所提供的資源與服務。在上一代的應用程式的中介軟體包括MTS、COM、IIS、MSMQ、以及後來的COM+,而在.NET平台上,如前面所提到的,是以XML為基礎的,且要達到AP-to-AP與Programmable Web的目標,因此需要一個全新的中介軟體,Microsoft提供給我們一個更強大的中介軟體.NET Framework。

.NET Framework的架構共分為五大部份,其中.NET Framework本身具有的包括共通語言執行期環境( Common Language Runtime、CLR)、廣泛的類別函式庫,以及定義.NET語言的共通語言規範(CLS),另外則為承載.NET Framework的作業系統平台,及支援.NET語言的開發工具Visual Studio .NET。

最底層的Common Language Runtime設計上有點像Java Virtual Machine,未來開發的.NET應用程式,都必須Run在Common Language Runtime上面。Common Language Runtime提供了非常多的Service讓應用程式在開發上、或執行上更穩定、更快速。

在中間的部份為Class Library,在以前我們在開發程式的時候,我們可能會用一些API,COM Library,MFC/ATL,等等,.NET Framework整合這些Functionality提供一致的Class Library,未來無論您用什麼樣的程式語言,都可以使用一致的Class Library。

因此這一部份的學習重點在於如何引用、延伸這些類別函式庫的功能,並建立自定的類別函式庫,但是面對那麼多的類別函式庫,又面臨了以前使用API的窘境:要用那個API?怎麼用?好在Microsoft在這一方面提供了絕佳的解決方案,Microsoft利用名稱空間(Name Space)的架構,將這些類別分門別類,例如要使用與資料庫相關的,就引用System.Data相關名稱空間;若要使用到Web Service相關的類別,則引用System.Web.Services,依此類推。詳細的“族譜”請參閱.NET Framework SDK說明文件。

至於Common Language Runtime的應用,則進一步提供應用程式調校的許多技術,如果不是進階使用者,維持預設值有時比自己設定要好,這一部份可參閱筆者在微軟PDC2002 Inside Common Language Runtime講次的資料。

 

學習如何開發Web 或 Windows 應用程式

在熟悉了程式語言與.NET Framework之後,又面臨另一項選擇:Window Based 或 Web Based。Visual Studio.NET提供兩種使用介面:ASP.NET與Windows Forms。其中ASP.NET的使用介面又稱為Web Forms。顧名思義,Web Forms將擺脫以前ASP難以開發的缺點,賦與像Windows Forms一樣的開發環境,因此對於以前習慣於在互動式的環境下開發程式的朋友,現在也可以像以前開發VB應用程式那麼簡單的開發一個高效能的Web應用程式。

那麼Windows Forms呢?不用耽心,Microsoft並沒有厚此薄彼,Windows Forms具有全新的開發環境,包括以拖放方式建立資料庫的連結與設定、使用 XML Web Services 、視覺繼承、利用控制項錨點和停駐自動建置可調整大小的表單、以及直接以視覺方式來撰寫功能表等。因此在這一部份不論您選擇那一樣都可完全享受Visual Studio.NET強大的功能。

這一部份的學習重在操作環境的熟悉與控制項的使用,建議先利用Microsoft所提供的Sample Code練習,再利用線上說明書,逐一練習各控制項,並利用這些既有控制項開發功能豐富的使用者介面。而進階使用者則必須能自行開發自訂的控制項,包括Windows Controls 與 Web Controls。

學習建立並公佈 Web 服務

過去,開發人員在開發程式的時候,必須依賴本機系統服務來建構應用程式,即使是採用多階(n-tier)的架構,開發人員仍需要使用大量的程式資源,然而到了.NET時代,應用程式不在綁在某一作業系統上,而是將整個Internet當作應用程式的平台。為了達到這個目標,Microsoft利用兩項特質,包括更具彈性的多階(n-tier)架構,以及網頁上訊息導向的概念,建構了稱為「網頁服務(Web Services)」的應用程式架構。就概念上而言,呼叫網頁服務(Web Service)將網頁服務(Web Service)整合於應用程式中,就像呼叫本機服務或其他元件一樣。這之間的差別在於它是透過Internet來呼叫。或者可以說Web Service就是將以前的元件網路化而已。

因此在這一部份的學習除了學習如何建立與使用Web Service外,就跟以前學習Windows DNA時候一樣,必須強調的是部署與解決方案。例如,如何利用Web Service建構分散式應用程式,或利用Web Service提供資訊服務等。

另一方面,由於.NET應用程式是架構在整個Internet上,因此安全性也是一大課題,建議在完成以上學習之後,能進一步探討.NET安全技術,這一部份Microsoft也提供了相當多的技術資源可供下載。

 

.NET認證

在瞭解了Visual Studio .NET的學習方向後,無論您是經驗豐富的程式設計師或只是剛起步的新鮮人,我想都應該有興趣瞭解Microsoft針對.NET程式開發所建立的認證制度。以下即就MCAD(微軟認證應用程式開發工程師)與MCSD(微軟認證解決方案開發工程師)相關認證作說明。(資料來源參考微軟網站)

 

核心科目

Microsoft .NET 的 MCAD (必考兩科)

Microsoft .NET 的 MCSD (必考四科)

Visual Basic .NET

 70-305* 使用 Microsoft Visual Basic .NET 及 Microsoft Visual Studio .NET 以開發並實施 Web 應用程式

 70-306*
使用 Microsoft Visual Basic .NET 及 Microsoft Visual Studio .NET 以開發並實施基於 Windows 的應用程式
   
 70-310
使用 Microsoft Visual Basic .NET 及 Microsoft .NET Framework 以開發 XML Web 服務及伺服器元件

 70-305 使用 Microsoft Visual Basic .NET 及 Microsoft Visual Studio .NET 以開發並實施 Web 應用程式

 70-306
使用 Microsoft Visual Basic .NET 及 Microsoft Visual Studio .NET 以開發並實施基於 Windows 的應用程式

 70-310
使用 Microsoft Visual Basic .NET 及 Microsoft .NET Framework 以開發 XML Web 服務及伺服器元件

 70-300
分析需求及定義 .NET 解決方案架構

Visual C#

 70-315* 使用 C# 及 Microsoft Visual Studio .NET 以開發並實施 Web 應用程式

 70-316*
使用 C# 及 Microsoft Visual Studio .NET 以開發並實施基於 Windows 的應用程式

 70-320
使用 Microsoft Visual C# 及 Microsoft .NET Framework 以開發 XML Web 服務及伺服器元件

 70-315 使用 C# 及 Microsoft Visual Studio .NET 以開發並實施 Web 應用程式)

 70-316
使用 C# 及 Microsoft Visual Studio .NET 以開發並實施基於 Windows 的應用程式

 70-320
使用 Microsoft Visual C# 及 Microsoft .NET Framework 以開發 XML Web 服務及伺服器元件

 70-300
分析需求及定義 .NET 解決方案架構。

 

選考科目

 

Microsoft .NET 的 MCAD (選考一科)

Microsoft .NET 的 MCSD (選考一科)

 70-229 使用 Microsoft SQL Server 2000 企業版以設計並實施資料庫

 70-230
使用 Microsoft BizTalk Server 2000 企業版以設計並實施解決方案

 70-234
使用 Microsoft Commerce Server 2000 以設計並實施解決方案

 70-305*
使用 Microsoft Visual Basic .NET 及 Microsoft Visual Studio .NET 以設計並實施 Web 應用程式  

 70-306*
使用 Microsoft Visual Basic .NET 及 Microsoft Visual Studio .NET 以開發並實施 Windows 應用程式

 70-315*
使用 C# 及 Microsoft Visual Studio .NET 以開發並實施 Web 應用程式

 70-316*
使用 C# 及 Microsoft Visual Studio .NET 以開發並實施基於 Windows 的應用程式

 70-229 使用 Microsoft SQL Server 2000 企業版以設計並實施資料庫

 70-230
使用 Microsoft BizTalk Server 2000 企業版以設計並實施解決方案

 70-234
使用 Microsoft Commerce Server 2000 以設計並實施解決方案

 

建議路徑

對於「MCAD 認證」,如果核心科目選擇70-305 或 70-315,則可以選擇70-306 或 70-316作為選考,反之亦然。因此建議先以70-305、70-306、70-310取的VB的MCAD或以70-315、70-316、70-320取得C#的MCAD。

至於MCSD,不論用那種語言,取得MCAD後,建議經過幾個月的開發經驗後,才能參加70-300的考試,同時必需加考一科選考科目,才能取得.NET的MCSD。

 

學習資源

Microsoft為了能儘速達成技術轉移的目的,提供了相當豐富的資源供使用者參考,同時在Visual Studio .NET所附的說明文件全部是中文化的,這對習慣使用線上說明書的開發者而言真是一大福音。

另外不論是美國原廠的MSDN網站(msdn.microsoft.com)或是台灣微軟msdn網站(www.microsoft.com/taiwan/msdn)也都提供了相當多的資源。同時自去年開始,一系列的修練研討會,其目的也是盡快達成技術轉移的目的。

對於自學者,目前除了MsPress的書籍外,各家出版社及作者,也趁這一波推出了大量相關的書籍,不怕沒有參考書,只怕不知到找那一本,不過還是建議先參考原廠所提供的參考資料及範例程式之後,再選擇適合自己的書。

如果您是屬於工作繁忙,或想加速整個學習曲線,則可選則微軟技術授權的教育中心(CTEC),由於CTEC使用原廠Microsoft Official Curriculum (MOC) 教材,因此可以學習到原廠第一手的技術,而且講師都必須通過相關的認證才可以教授該課程。

結語

學習新技術總是令人雀躍不已,然而面對一些新的名詞、新的架構,則是一種全新的挑戰,若在談到coding,很多人開始猶豫了。其實只要把握原則,學習.NET可以很快樂的,本文盡量不談到技術的東西,若有任何技術上或學習上的疑問,也歡迎來函交換意見。


歡迎新會員
buh Micpaake
會員人數:
7595
Microsoft MSDN 網站
弈飛資訊 網站

 

When we try to pick out anything else in the Universe, we find it hitched to everything else in the Universe.
-- John Muir

 

最新發表 

  • Buy Flagyl Online No Prescription
    Posted by buyfglaylnowjjsd on Wednesday, July 14, 2010 (台)

  • Fast Payday Loans Of Ohio
    Posted by etedgeanobape on Tuesday, July 13, 2010 (台)

  • nirvana cannabis seeds
    Posted by Clalcuhclatte on Thursday, July 01, 2010 (台)

  •  

    最新回應 

  • mp3鬧鐘程式for PocketPC
    Posted by a0913697944 on Tuesday, June 29, 2010 (台)

  • 如何在Multi-thread的情形下,控制Form元件,例如ListBox???
    Posted by wywcinema on Monday, September 28, 2009 (台)

  • 如何在Multi-thread的情形下,控制Form元件,例如ListBox???
    Posted by wywcinema on Monday, September 28, 2009 (台)

  •  

    最新連結 

  • 下載微軟最新 Visual Studio .NET 技術名詞小幫手
    Microsoft Terminology Assistant 是一個視窗架構的小幫手工具,它可以立即協助您找出滑鼠所指的技術名詞原文和定義。
    當您在閱讀電腦上的技術說明文件時,您可以使用 TA 這個工具根據您滑鼠游標的位置立即協助您找出滑鼠所指的技術名詞原文和定義;這工具也提供軟體技術辭彙字典的功能,讓您能直接查出並不瞭解的技術名詞。您一定可以使用這個小程式來使您能更快、更準確的學習最新的軟體技術,加速您學習軟體技術的時間。


  • DBA 的 SQL Server Yukon 概觀
    這篇文章提供有關資料庫系統管理的新功能,以及資料庫可用性、延展性與安全性的概觀。

  • 伺服器端 ASP .NET 資料繫結之二:自訂 DataGrid 控制項
    DataGrid 是網頁編輯最常使用的控制,但是DataGrid 雖然好用卻有一些使用上的限制,本篇文章介紹了如何自訂DataGrid來滿足所須的功能。



  •  
    本網站由弈飛資訊建置維護