.NET学习全景图
作者:bitfan 来源:csdn博客   酷勤网收集 2009-03-14
摘要
  作为一个下定决心要学习.NET的初学者,首先要掌握VS.NET的使用,之所以把掌握这一开发工具放在第一位,是因为在后面的学习过程中,需要使用VS.NET进行不断地编程实践,而只有通过实践,才能最终掌握.NET技术。
 
  .NET与JAVA
  Java是上世纪九十年代诞生的一种面向对象语言,它吸取了C++的许多长处,其最大的特性是“跨平台”,由于它很好地满足了网络时代信息系统对高级语言的要求,因而在实践中得到广泛应用。
  Java经过近十年的发展,目前已在企业信息系统开发领域占据了主流地位,形成了一整套完整的技术体系,取得了巨大的成功。
  .NET是微软推出的一种新的软件运行平台,它包括一整套应用范围广泛的技术,旨在迎接Java所带来的挑战。.NET给软件开发带来了很多新的技术,尤其是它的“混合语言”开发方式,是第一个支持多种语言混合开发的软件运行平台,下一代Windows——LongHorn(预计2006年推出)的核心将会看到.NET的身影。
  如果读者学过Java,那么您会发现,.NET与Java实在是太象了。尤其是C#(.NET下的一种编程语言,念成“C Sharp”,不要念成“C 井” ),如果给你一段代码,有的时候还真难分辨出是用Java还是C#写的。
  .NET与Java的这种相似为我们的学习提供了便利,如果您掌握了C#,那么,掌握Java这个语言几乎是不费什么力气的,需要花费时间的只不过就是熟悉彼此的类库。.NET是.NET Framework,Java是J2SE。学习这两者的理论基础都是面向对象理论。所以,一名有着面向对象理论基础的人是很容易掌握.NET和Java的。
  .NET学习全景图
  .NET有一个庞大的技术体系,一个初学者,如何决定自己的学习步骤呢?就我自己的经验,谈谈我对这个问题的看法,参见图1:
.NET学习全景图_休闲
图 1 .NET学习全景图
作为一个下定决心要学习.NET的初学者,首先要掌握VS.NET的使用,之所以把掌握这一开发工具放在第一位,是因为在后面的学习过程中,需要使用VS.NET进行不断地编程实践,而只有通过实践,才能最终掌握.NET技术。
  第二步是掌握一种.NET语言。由于.NET支持多种语言,所以读者可以根据自己的喜好选择一门计算机语言,但请注意以下选择语言的标准:
(1)必须是全面向对象的语言,只有面向对象的语言才能充分发挥.NET的威力;
(2)拥有较多的开发者和技术资源,这样您就可以很容易地找到志同道合的人共同学习。
  微软官方提供的语言有以下几种:Managed C++,C#,Visual Basic.NET,J#。
  其中Managed C++是对标准C++的一种扩充,用的人很少(目前Managed C++将演变为CLI,但其前景仍不十分明朗);J# 则是微软为吸引Java程序员转到.NET平台而采取的一种策略。如果读者不属于原来使用C++和Java进行开发,并希望能继续使用原有的语言写.NET程序这种情况,不要学习Managed C++和J#。
  C#和Visual Basic.NET是目前.NET下开发的主流语言,其中,C#是全新设计的一种语言,其语法与C++和Java都非常类似,Visual Basic.NET保留了原来Visual Basic的大部分语法特征和简洁方便的特性,同时加上了对面向对象特性的全面支持。两者几乎是一样强大的,初学者选任何一种都是可以的。
  目前支持.NET的语言已有几十种,而且还在不断地增加中。
  本书(《.NET软件技术学习与实践》下同)选用的编程语言是Visual Basic.NET。之所以选用Visual Basic.NET,一个原因是因为本书作者从Visual Basic3.0开始就使用Visual Basic来编程了,有丰富的Visual Basic开发经验,另一个原因是.NET支持混合语言开发,Visual Basic.NET开发出来的组件,可以方便地组合到C#程序中,反之亦然。Visual Basic.NET也是一种面向对象的语言,两者功能几乎一样强大,而且Visual Basic.NET与C#都使用同一个类库——.NET Framework,把Visual Basic.NET的程序代码转成C#代码也并不困难。在.NET下,语言已不再重要了。.NET的跨语言特性,使我们可以用Visual Basic.NET设计一个类,继承用C#或C++写的一个类,反之也行。在第12章中就以Visual Basic.NET和C#为例,介绍了.NET下的混合语言开发技术。
  本书的实例以Visual Basic.NET语言开发,但并不要求读者以前学过Visual Basic,当然,您要是使用过以前版本的Visual Basic(如Visual Basic 6)开发过程序,那么,使用Visual Basic.NET会感到比较亲切的。网上有许多人对Visual Basic有成见,要学.NET编程,许多初学者一起跟风去学C#,其实Visual Basic是一种优秀的计算机编程语言,尤其是最新的Visual Basic.NET,更是较以前的Visual Basic空前地强大与灵活。笔者使用过许多其它的语言如C++、Pascal、C#、Java开发过程序,但Visual Basic许多独特的优点所带来的高的开发效率仍是让我喜爱。在此,我只想说一句:关于语言优劣的讨论意义并不大,网上许多人的所谓高论,其实都是“盲人摸象”罢了,初学者不要被这些言论误导。对于一种语言,在你没有使用它写过一定量的程序时,不要对这门语言发表什么评论,就算发表评论,也要说明这是个人观点,这是一名软件工程师对技术应采取的态度。
   所以,学习本书读者一定要记住,您是在学习.NET编程技术,在学习如何开发一个软件,不是在学习一门语言,您需要重点把握代码背后的计算机基础理论知识,所蕴含的软件开发思维方法,以及学会使用.NET Framework本身,掌握语言不是重点,语言只不过是一个工具罢了。重要的是不是您掌握了什么工具,而是您用这个工具做出了什么!

掌握了开发工具和编程语言之后,读者已经可以自己动手编一些小程序了。接下来的任务是学习具体的编程技术。

据说.NET上运行的大部分程序是基于网络的(比如用ASP.NET开发的网站),但对于初学者而言,不适合一下子就投入到网络程序的开发中。而应从易到难,先把基础打好。

因此,在第三步中学习Windows Form是个好选择。所谓Windows Form程序,就是传统的运行于个人电脑上的单机应用程序,象大家常用的金山词霸。通过Windows Form技术的学习,读者可以掌握最重要最基础的windows软件开发技术,并对面向对象理论会有深入的体会,有了这些基础,深入学习网络编程就是水到渠成的一件事。本书的主要内容就是向读者介绍Windows Form技术。
第四步则是学习.NET网络技术,具体而言,又可以按照以下顺序进行学习:
(1)ASP.NET:主要掌握如何设计ASP.NET网页,搭建一个运行于.NET Framework之上的Web网站;
(2)Web Service:学习如何把网站的各种功能以Web Service的形式提供给外界,或者集成外部的Web Service实现功能强大的信息系统。Web Service是一个潜力无穷的新技术,将对下一代的互联网产生深远的影响。
(3).NET Reomting及相关技术:不像ASP.NET和Web Service主要用于互联网,.NET Remoting及相关的技术主要用于开发基于局域网的应用程序,目前大部分公司和企业都建有自己的局域网,开发基于局域网的信息系统具有很大的需求。
当完成了以上四步的学习之后,您就基本上了解了.NET中最重要的技术,下一步有两个选择:
(1)学习移动设备开发技术,比如为手机、SmartPhone等智能移动设备开发程序,设计嵌入式系统等,.NET Compact Framework就是专为移动设备应用程序开发而准备的,使用.NET Compact Framework开发移动设备程序与使用.NET Framework开发普通程序是类似的,已有的.NET Framework开发经验仍然适用;
(2)另一个方向是进一步深入地学习企业级项目开发技术,成为一名系统架构设计师,这需要更进一步地学习相关理论和技术,比如设计模式、软件工程等,还有J2EE等.NET竞争对手的技术。
如果读者能沿着我的路线图走到这里,那就恭喜您,您已成为了一名.NET技术专家,更宽广的道路将展现在您的面前。