我的学习体会(对.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 类的时候,多想想它为什么会是这样的?多问问自己他们为什么要把它设计成这个样子?在思考这些问题的时候,你其实就是在领悟和感受设计的魅力,也许有天你会突然惊呼:哦!原来这就是设计模式中的某某啊~ 你看,这一切发生的都是这么自然和不动声色~

 

Android学习之路—新手学Android的体会!

只有我一个人写代码,做UI,切图片,做图标。。。。。又是新手,感觉痛苦的要死。相信很多人都遇到过这种问题。所以我的第一篇博客就是想和大家分享一下在这种情况之下我是怎么学习android的,之间走过的一...
  • u012387178
  • u012387178
  • 2015年05月31日 10:26
  • 432

学习Collection的一点心得

ArrayList :底层实现数组,线程不安全,效率高,所以查询快,修改,插入,删除慢。Linklist:底层实现是链表,线程不安全,效率高,所以,查询慢,修改插入,删除快。vector:线程安全,效...
  • xing_kong_xia_xiang
  • xing_kong_xia_xiang
  • 2018年04月12日 10:28
  • 1

给C++的初学者的建议

如果你不确定你将来从事何种行业的软件开发,只是想学习一门程序设计语言,那么从C++起步是个很好的选择。要执着,不要今天学点C++,明天学点VB,最后是学了十几种语言,都是只懂皮毛。学习C++不需要C语...
  • zhangleixp
  • zhangleixp
  • 2006年05月01日 19:51
  • 814

老程序员给初学者的一些建议和忠告

网上看到的一篇好文章,自己当年没有读到是损失,现在希望更多的师弟师妹因为这篇文章避免这个损失! 请记住——我不会以码农自卑,但一定以常年码农为耻!...
  • a_running_wolf
  • a_running_wolf
  • 2015年11月15日 00:33
  • 2904

Hadoop入门学习心得

Hadoop入门学习心得; 互联网的快速发展带来了数据快速增加,海量数据的存储已经不是一台机器所能处理的问题了。Hadoop的技术就应运而生。在看了超人学院吴超老师的讲解之后,对这个概念有了一个比较...
  • dantebl0608
  • dantebl0608
  • 2016年05月26日 21:23
  • 584

创建数据库心得

第一次开始写类似真真实的管理系统,所有的内容都是自己想的。自己选的项目,自己做的需求分析。 之前学过SQL数据库原理和SQL Sever、oracle数据库软件,学过面对象的需求分析,学过Java、...
  • boujhe
  • boujhe
  • 2017年06月23日 17:50
  • 421

对.NET初学者的建议

  • zhangzd321
  • zhangzd321
  • 2010年05月13日 16:41
  • 132

Java 开发建议

(1) 避免使用NEW关键字来创建String对象。把一个String常量copy到String 对象中通常是多余、浪费时间的Public class test{Public void method(...
  • xianbin
  • xianbin
  • 2006年06月05日 22:46
  • 834

QT 入门 心得

首先说说为什么要学习QT (一是因为牛叉的跨平台特性将来方便移植到嵌入式, 而是本身自己学过c过度到c++比较容易, 所以就选择了) Qt是诺基亚开发的一个跨平台的C++图形用户界面应...
  • liang890319
  • liang890319
  • 2011年11月20日 08:48
  • 11463

最近编程的一点心得

1)编译之前,先用splint检查一下程序,你会收益颇多2)出现了 "segmetation fault" 错误, 通常是引用了空指针,或者未初始化的指针。3)不能malloc,说明对申请的内存操作失...
  • colin719
  • colin719
  • 2007年01月13日 17:26
  • 1143
收藏助手
不良信息举报
您举报文章:我的学习体会(对.NET初学者的一些建议)
举报原因:
原因补充:

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