VS.NET编程经验阶段总结
从大一到现在,接触.NET也有一年半的时间了,可以说是有 1.5 年的编程经验吧。下面说说我自己的一点感受:
大一下学期刚进微软俱乐部就真正开始了我的程序人生,也让我很快找到自己的兴趣所在。我接触的第一个项目是“本本”,是一个有日记本和记事本功能的程序。从这一刻开始,我选择了VS.NET、C#。那时候我跟计算机学院的林江两个人一起,从怎样拖控件、是在Button1_Click(object sender,EventHander e){} 这里面写代码、要写 using System.IO;,到后来把一个东西搞出来,整个过程碰碰撞撞的。其实这个程序跑起来有 40 几M,比开一个 word界面还吃内存!现在看那时候写的代码都觉得好笑,那应该不算代码,而应该说得上是“补丁”---是从别的地方copy过来再粘上去的。那时候,杨晖给我们不少的帮助,直到现在我都很感激他,我把它当成自己的导师,使我发现并抓住了兴趣,到现在也将到以后!入门的时候有人指导这是非常重要的!
在写“本本”的时候,我还不清楚怎么操作数据库,但我知道有数据库还有ADO.NET这个东西,因为这部分是林江写的。但现在觉得ADO.NET没什么了,数据提供者、几个重要对象、XML配置,它的操作过程都是一样的。现在应用都把这些都封装起来了,写一个通用的Data Tier,多数据提供者、多返回类型,加上AbstractFactory、Singleton模式Web编程或是Windows编程都用得上,可谓“一劳永逸”。当用得上的时候,再去查一下新版本ADO.NET2.0的新特性。上学期(2006-2)开学不久就在阅览室里看ADO.NET1.1(Wrox出版),这一次看得透彻多了,两三天时间对ADO.NET的了解又加深了。其实以前就已经看过了ADO.NET相关方面的书,只是没有这么深入,所以翻一翻我的笔记本经常会看到这里记了ADO.NET相关的,另外一个笔记本也记了,只是深度跟体会不一样了。
※记住,学习、做项目一定要以小组团队进行,任何个人蛮干的行为都是不可取的!
※要学什么,找一本相关的有深度的专门的书来看:
ADO.NET: 《ADO.NET高级编程》---Wrox出版(清华译)我们称之为“红皮书”
安全性: 《.NET安全性与密码术》---清华出版
GUI: 《Windows GUI高级编程》---Wrox
Web编程三层模式: 《ASP.NET Web站点高级编程提出问题-设计方案-解决方案》---Wrox
XML: 《ASP.NET XML高级编程》---Wrox
UML: 《VS.NET UML建模高级编程》---Wrox
大二上学期一开学,我们的第二个项目---“承言杂志网”也开始了。这次,小组新加入一位新成员:林时来。他是一位很有远见、有Web前沿洞察力的人,从很多地方都可以看出来他的这种思想,以至于他第一次跟我谈“创业”的时候我既惊讶又感到束手无策!可以说我的Web编程是在他的介绍下开始的,而且现在的主要方向也是Web编程。那时候他写Web界面的时候是用手工写出HTML代码的,<table><tr>之类的,这让我感到非常惊讶,这么多、这么杂的东西怎么写出来啊?!。正好,那时候林江给我发了个《HTML参考手册》的电子书,花了两天时间终于把HTML搞定!原来,很多.aspx 的代码是CLR自动生成的,而布局的时候就用HTML来画表格,这HTML也这么简单。从那之后,我知道了还有电子书这东西,手头上没书参考了,就去找电子书来看,有这东西真管用!现在在做的那个网站:TradeShowSeek需要融入Web2.0的思想,XHTML、CSS、AJAX。说来,XHTML、Atlas也是从林时来那得知的,前几个星期自己在布局一个搜索结果页面的时候,那个<div>的标签真的把我给弄糊涂了,布局不来。后来,请教了林时来,他帮我把那个框架给画好了。等到需要设计界面的时候再去把CSS、XHTML好好研究一下。而对于Atlas,先前浏览过很多实现AJAX的网站,感受是只用一个字来形容:酷!本来打算在搜索结果页面用AJAX实现的,搞了好几天都没有搞出想实现的效果。后来,这个页面改了,变成了跟百度、Google一样了,不同页面之间的切换会刷新浏览器的。
※ 小组内互相学习,先了解有哪些东西,需要的话再深入学习。学习资料的获取:专业的书籍、好的电子书:得益网、社区搜索:CSDN、MSDN、中国DotNet俱乐部、iwms网站管理系统官方
※ 学习新的东西,最好的方法就是先使用它、熟悉它!
※ 理论---实践---理论,这样的学习方法确实很奏效!
大二下学期也是一开学就有安排了:改版“承言杂志网”!C#语言、存储过程、三层模式…
那时候俱乐部的王小峰推荐了他写的一个网站的源码,ACCESS、存储过程、数据访问层,很多对我们来说都是新的东西或是新的编码思想(不再是硬编码了),当时还不完全理解数据访问层的Database类,以至于我们直接把这个类拷过来,在其它地方调用。现在在写的那个MPGenericDataAccess组件或许可以再参考这个Database类。这一次,小组又加了个新成员:肖全山。这样,我们的小组就有四名成员了,那个“承言杂志网”也在 1个月左右的时间改版完。 那段时间内也看了一些书,大部分是关于应用的。前几个礼拜借了本书《.NET框架程序设计---VisualBasic.NET语言描述》,虽然里面讲的方法、字段、接口、委托、异常之类的已经在好多书上看过了,这样的书像是一本.NET入门工具,但它是从CLR角度来描述的,是从一个整体来解释这些特性,所以它的深度又不同了。看了部分之后,很多东西都有新的认识,也算是对基础知识的又一次过滤吧,应该对以后的类设计有所帮助。
※ 回过头来花一定的时间看以前学过的知识,既轻松又会有新的体会。这或许是前面“理论---实践---理论”中的第二个“理论”到第一个“理论”吧
时间问题,先写到这。以后不同阶段我都会再次总结,希望这对初学者或是跟我处在同一阶段的朋友有所帮助