引言:前几天,收到一位初学 .NET 的朋友的来信,向我请教学习 .NET 的一些经验。刚好,一直以来也想写点自己关于学习心得方面的东西,希望能帮到某些对 .NET 有兴趣的好爱者。
不知道你现在的困难是开发技术上的还是仅只是对IDE环境的陌生。至于现在深圳有哪些.net的培训我不清楚,现在国内除了北大青鸟在IT开发上有些培训外,其他的培训机构似乎都没听说过,对于这种短期的培训我其实也不太看好,毕竟通过自己学习和上网查资料是很容易入门的。既然你问起,那么我权且做一回过来人(应该是过来中人,进行时:-)),谈谈自己学习.NET的一些心得体会罢,并推荐一些.net的技术资源。
如果你以前对面向对象程序开发(OOP)不熟悉的话,那么现在是时候补习这门基础知识的时候了,这个东西其实是很容易的,在一般的 C++/C#/VB.net 语言的教程书中都有提及。
因为我们用.net来开发应用系统,或多或少都会牵涉到数据库操作,尤其在管理信息系统(MIS)中,那么在.net中所有前端技术都是通过ADO.net这个数据模型来存储和操作数据库资源,因此ADO.net也是我们学习的重点和基础之一,在这方面我只推荐一本书就够了《ADO.net 技术内幕》[http://www.china-pub.com/computers/common/info.asp?id=14096]。更多详细参考请查看MSDN中 System.Data 命名空间。
在.net中各种语言都是使用同一套API,即 .NET Framework,因此对这个庞大类库的了解自然是我们开发的基本功。在初接触 .NET Framework 时,可能会因为该架构库的繁杂枝节而使得自己感到无所适从,其实这只是被它的表面所迷惑而已,因为 .NET Framework 通过命名空间(namespace)来组织所有类的,而这些类在逻辑上通过命名空间层层嵌套在这些分门别类的命名空间中,因此只要顺着这些命名空间来组织我们的学习,你将会发现这是一件多么顺畅和自然的事情!在学习这套“伟大”的架构库之前,我建议应对它先做个全盘的了解,在此,我慎重推荐《.NET Framework 程序设计(修订版)》一书 [http://www.china-pub.com/computers/common/info.asp?id=13534],该书对于每一位.NET开发人员的重要性和基础性可堪比你所想象的任何重要的事情,在刚看这本书的时候,或许你会有很多看不明的地方,那么你千万不要气馁也不要着急,因为,这不是一本教你即时操作或试验某项技术的指南,它讲的都是有关架构方面的设计或者原理之类的东西,这或许有点点无趣,但我认为它却是我们技术进升的基石。由此,你无须为遇到的挫折而懊恼郁闷,因为我在2002年(该书的中文版第一版刚出来时)就开始看,一直到今天我还是经常看看,每次看都有不同的理解和发现。如果你想知道委托(delegate)和事件是怎么工作的?它为什么被设计成现在这个样子?CLR是如何运行的?我们的类是怎么加载的?.net 是如何查找引用类库的?什么是强签名?反射是怎么工作的?等等…… 太多太多有趣的问题,如果你希望得到这些有趣问题的答案,那么一切尽在书中。
最后,是关于学习切入点的问题。诚然,这么大个的 .NET Framework,我们总该有个选择性的来学习罢,因为也没那个精力和时间遍地开花。你可以根据你自己的经验或者兴趣,决定你是否从 ASP.net 开始学起还是从 WinForms 开始入手,无论你选择哪一样或者两者同时开动,或许最终你还是需要两者都要知道一些。在 XML WebService 穿梭中的.NET,对 HTTP/SOAP 这些基础性东西的了解越深,你就会在Web开发过程中越感觉到如鱼得水、如虎添翼。如果你是从 WinForms 开始下手的,那么对 System.Windows.Forms 这个命名空间下的各个常用控件(继承自Control)和组件(继承自Component)的了解就必须足够。在涉及客户端数据绑定操作中,你或许发现自己对 Binding、BindingManagerBase、DataGrid 以及相关类(DataGridTableStyle、DataGridColumnStyle)的了解是多么迫切,而无论是在 WinForms 还是 ASP.net 这些客户端界面的编程中绑定技术或许是你必须掌握的技术之一。最后是关于 XML 的,因为 XML 是如此的盛行,也因为它是 .NET 中诸多技术的存储和表达的基础(如 ADO.net中DataSet的存储和表达的基础、WebService的载体、甚至是你的类的序列化的表达和载体),因此想对它视而不见是不可能的。那么当你真的决定自己动手来试试 XML 时,DOM 模型(System.Xml 命名空间)或许是你快速入手的好对象,当然我们也别忘了还有 XmlReader、XmlWriter 以及他们的衍生类,它们是和 DOM 截然不同的两种操纵 XML 方式的体现,对于 XML 不能不提的是 XPath,它就像我们学习数据库开发时,SQL语言对于我们的重要性,当然除非你决定在 XML 中所有的查找、定位、过虑、转换等等都使用循环+判断来搞定。
如果你对设计模式有所耳闻,或者有些兴趣的话,那么建议你多看看MSDN的帮助,在学习这些 .NET Framework 类的时候,多想想它为什么会是这样的?多问问自己他们为什么要把它设计成这个样子?在思考这些问题的时候,你其实就是在领悟和感受设计的魅力,也许有天你会突然惊呼:哦!原来这就是设计模式中的某某啊~ 你看,这一切发生的都是这么自然和不动声色~
好了,我所知道的也就这么多了,长路漫漫未有尽时,让我们一起努力罢!Good luck...
最后附上一些我常去的一些开发类网站,希望它们能对你有所帮助。如果你还不是一个博客的话,那么我建议你赶快加入到这个团体中来罢,与人共享你的学习心得与体验也是提高和鞭策自己进步的重要动力!
附:
http://www.microsoft.com/china/msdn
http://www.csdn.net
http://blog.joy.com
http://blog.csdn.net
本文地址:http://com.8s8s.com/it/it44187.htm