我的学习体会(对.NET初学者的一些建议)

原创 2004年09月10日 17:35:00
 引言:前几天,收到一位初学 .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 类的时候,多想想它为什么会是这样的?多问问自己他们为什么要把它设计成这个样子?在思考这些问题的时候,你其实就是在领悟和感受设计的魅力,也许有天你会突然惊呼:哦!原来这就是设计模式中的某某啊~ 你看,这一切发生的都是这么自然和不动声色~

 

给初学者的建议

一名初学者,首先要找一本好的入门书籍(平台里有推荐),把程序结构,数据类型,数组,函数和结构体这几个部分了解了之后,就可以”写”程序了。千万不要把书看的太细致,那样的话会觉得程序设计太繁琐,不要背参考...
  • Matt_h
  • Matt_h
  • 2016年09月05日 21:56
  • 56

给STM32新手们的学习建议

STM32的学习与ARM9的学习有一个很大的区别。ARM9的学习一般是需要购买书籍的。比如三星的S3C2440,官方的文档都是英文的,大部分工程师只能去看国内出版的书籍。英文好的同学,请不要以为你很牛...
  • u013576827
  • u013576827
  • 2014年08月19日 17:56
  • 721

数据库学习及心得体会

一、认识数据库1.数据管理技术的发展1.1数据库的基本概念 (1)数据(Data) 数据就是对客观事物反映的一种物理符号,可以是数字、文字、图形、图像、声音、语言和视频等。这些多种形式的数据都需经过数...
  • zyw644451
  • zyw644451
  • 2016年06月22日 15:39
  • 2470

新手学习linux关于CentOS下载及版本选择

i386是给32位机器使用的,而x86_64适用于64位机器。前者只能使用32位软件,后者可以兼用32位软件,这就是两者区别。如果你的服务器内存超4GB,强烈建议使用64位版本;如果只在虚拟机器里安装...
  • u010867667
  • u010867667
  • 2016年01月03日 12:40
  • 2035

初学者javascript建议

这篇文章将向你分享一些不为人知的但很有用的JavaScript小建议,对那些刚涉及使用JavaScript编程语言的初级开发者应该有很大的帮助。 1. 用数组长度截取数组 我们都知道,对象...
  • sjqdxy
  • sjqdxy
  • 2013年08月26日 18:30
  • 313

Java 初学者建议

java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈...
  • Maxiao1204
  • Maxiao1204
  • 2016年09月06日 19:57
  • 226

给GIS初学者的建议

对ArcGIS的学习绝大部分的人都是从ArcMap这个软件下手的(准确来说甚至就是ArcGIS Desktop 的ArcInfo【ArcInfo是在Desktop中的角色类似于win7中的ultima...
  • keep_vitality
  • keep_vitality
  • 2015年11月19日 15:06
  • 385

对测试初学者的建议

原文地址:对测试初学者的建议作者:angle_duan测试初学者对软件测试以及他们在实际工作中将怎样实现测试有很多问题。作为一个测试初学者,你需要对软件测试这个职业有一定了解。下面的这些建议,对于你在...
  • qiu5213173
  • qiu5213173
  • 2015年05月30日 11:33
  • 334

linux--给初学者的建议

注意事项:1.linux严格区分大小写 2.linux中所有内容以文件形式保存,包括硬件 硬件文件是/dev/sd[a-p] 光盘文件是/dev/sr0等 用命令行的修改是临时生效的...
  • derkampf
  • derkampf
  • 2016年02月18日 17:16
  • 213

对Android初学者的10个建议

这些Android开发的技巧都是我个人的经验。总共10条,所以我又把它们叫做是“Android开发的10大技巧”。如果想看有关编程方面的技巧,推荐《受益无穷的遗产——编程十诫》。   下面让我们进入...
  • jinglijun
  • jinglijun
  • 2015年05月28日 11:04
  • 1613
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的学习体会(对.NET初学者的一些建议)
举报原因:
原因补充:

(最多只允许输入30个字)