博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

net高手是怎么练成的

Posted on 2010-01-29 10:28  RUI2021  阅读(534)  评论(0编辑  收藏  举报

一点体会,希望对大家有点帮助,如果有时间在写点别的,现在项目忙,没有时间了。哈哈。
  工作只余,时常在想,如何才能成为一名ASP.NET编程高手。当然,想归想,最关键的还是要付出行动。正所谓:冰冻三尺,非一日之寒啊!想成为编程高手也不是一两天或者一两个月的事情,而是理论与实践日积月累的结果。况且,技术的日新月异,也要求我们不断的去追求新的知识,开阔新的领域。
在大学的时候,学的都是一些基本的编程理论,实践环节涉及的非常少,特别是对于从事软件开发的人来说,这等于没有入门,是的,大学毕业的时候我居然不能独立完成自己的毕业设计,我感到很惭愧!毕业后我应聘了一家公司,为我们提供了三个多月的.NET开发培训,也正是在这段时间里,我才有幸接触到了.NET,并从事于.NET方面的开发。刚开始的时候,简单的回顾了一下数据结构和计算机网络知识,就开始正式进入.NET方面的培训了。接下来我简要的说一下在我参加培训的这段时间里所接触到的东西: 首先是面向对象的基本理论,因为我们用的开发语言是C#,这是一门完全面向对象的语言,也完全继承了面向对象的许多优点,包括封装,继承,多态等,只是在某些细节上有所变化,但总的思想依然没变!幸好在大学里学过C++,也看过关于Java方面的书,在面向对象的理解上没有什么太大的问题。但对于其中的值类型与引用类型,委托与事件等,最难理解的就是委托与事件,先定义一个委托,然后把这个委托与我们定义的一个事件联系起来,然后再调用这个委托的实例来触发事件,这是我的一个简单理解。对刚接触.NET的开发人员来说,还真有点难理解,我也不例外,这也是很正常的事情,请不要担心,按照中国传统的思维,都是先学会用,然后去理解为什么那么用,以及其基本实现细节,也就是说,等你用的多了,你就自然而然的明白了。在这段时间,我买了一本C#高级编程(第四版),特厚的那一本,开篇就谈到了.NET Framwork基本理论。因为C#是完全建立在.NET Framwork之上的,只有理解了.NET Framework的执行机制,才能明白C#代码是如何被.NET Framework CLR托管和编译的。刚开始对.NET Framework的工作机制很难明白,为什么要有公共语言运行时(CLR),什么是通用类型系统(CTS)等等,只是按照老师所讲的和书上写的代码逐个敲,慢慢体会。这本书真的不是太适合初学者看,我比较建议大家去看《微软技术丛书》的那一套,[从入门到精通],然后是[技术内幕],最后是[高级编程],还有[框架设计],每一本书都能让你有一个大的提高。       接着开发了一个Windows应用程序实例,我们用的工具是Visual Studio 2005,开发语言当然是C#。当时我们采用了简单的三层开发模式(UI-BLL-DAL),由于以前没有接触过分层模式的开发,很难立即接受这种模型,到底能带来什么好处?幸好当时有同事比较理解,给我们仔细分析了如何分层,以及分层模式给我们开发应用程序带来的好处与不利。通俗的讲,分层设计有利于团队的分工与合作,有利于系统以后的拓展,比如更换数据库时我们最多只需要修改DAL层;而带来的不方便就是当我们修改了其中某一层的时候,相应的要修改其他层中与之相关的代码,而且从性能来说也会带来影响。从总体来说,这些影响与给我们带来的好处几乎可以忽略不计。       对分层模式开发来说,我想说的是,如果不太明白,可以去看Microsoft的PetShop4,这里面有22个项目,其中21个类库项目。刚开始的时候,只用去看最基本的Model , IDAL ,DAL, BLL和UI就够了,用断点去调试,你就可以对分层模式的执行流程有个清晰的认识。

      当然,要想从事ASP.NET的开发,要学的东西会更多,主要包括HTMl,JavaScript,,CSS等,虽然在以后真正的应用程序开发中,有专门的美工来负责界面的设计,但对于开发来说,完全有必要知道一些基本的HTML语法知识,这样有助于我们理解页面是如何来生成的是有很大帮助的。
接着学习了ASP.NET,主要学习了ASP.NET的页面执行模型,状态管理等。当学完WinForm后,我想大家对C#编程有了一定的基本功了,那么从事ASP.NET应用程序开发,编程已不是最大的障碍,而是从WinForm转到ASP.NET的时候,要充分认识到两种不同的基于事件驱动的模型。主要是因为ASP.NET是基于HTTP协议的,而HTTP协议又是无状态的,我们还必须为页面及其控件保存状态,使其好象是有状态的,这其中又涉及到序列化和反序列化问题。而在WinForm应用程序中,不需要保存状态,直接是基于事件驱动的应用程序,相当于点击/响应模式,相对来说,比ASP.NET开发起来要容易的多。
      最近一直都在学习ASP.NET,刚看完Dino的《ASP.NET 2.0技术内幕》,第一遍下来真的很难以理解,特别是经我们的施平安同志翻译,还必须仔细推敲每一句话的含义,这个时候千万别泄气,等你看完本书再看第二遍的时候,你就有了一个更高层次的认识,你就知道.NET Framework是如何工作的了,托管代码是如何被执行的了,等等,总之,我相信你会对ASP.NET有更大的兴趣了。兴趣是最好的老师,也就是说你离你的梦想越来越近了。
      现在开始看高级编程了,虽然C#已经到3.0了,我觉得应该始终坚持一个版本的学习,只有充分的理解了一门语言,然后再去看升级版本,或者其他语言或者其他编程技术,那就很容易了,正所谓:通一则通百啊!
      好了,今天就说这么多了,希望和大家多交流!
  (文章来源于赛迪网IT博客)