分享
 
 
 

Visual Studio .NET学习之路

王朝c#·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

转载『Visual Studio .NET 学习之路』

Posted by i-Freelancer on 2003年8月15日 (台)

由弈飞信息首席顾问/台湾微软特约资深讲师 李 清 培 先生带领大家迈向.NET学习之路。

离线阅读档案,可至『在线资源 > 技术文章』处下载。

Visual Studio .NET 学习之路

弈飞信息首席顾问 / 台湾微软特约资深讲师

李 清 培

摘要

本文将介绍.NET 的整体架构,以及Visual Studio .NET的完整学习路径。在简略介绍.NET应用程序架构之后,将依程序设计语言、.NET Framework、.NET应用程序、Web 服务四大主题介绍.NET完整的学习路径,不论是资深的程序设计师或程序的初学者都能快速的掌握Visual Studio .NET的核心技术。

另一方面Microsoft为了建立.NET应用程序开发能力的认证标准,特别针对Visual Studio.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 的诞生,程序开发人员才开始体会到开发 Windows 应用程序是如此简便,就像画图一样把控件拖曳到窗体上就可以了,对一个像我这样写了几年结构化程序的人而言,真是一大震撼。

同样的,在.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利用名称空间(NameSpace)的架构,将这些类别分门别类,例如要使用与数据库相关的,就引用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的使用接口又称为WebForms。顾名思义,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可以很快乐的,本文尽量不谈到技术的东西,若有任何技术上或学习上的疑问,也欢迎来函交换意见。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有