刚参加工作的时候,周围的每个同事似乎都比自己年长,不知不觉同事中间大多数都成了小弟弟、小妹妹了,猛一回首,自己马上就要迈入而立之年了。好了,废话少说,谈谈这些年来的软件开发心得体会,同大家分享一下。
最初写程序是用foxpro,当然谈不上什么理论指导,后来看了几本关系数据库设计方面的书,学到了范式这个概念,算是一个里程碑。中国的大学教育真是失败,很多人计算机本科毕业,连这个都不懂,写出来的程序简直惨不忍睹,曾经见过一个家伙设计的程序,一个表有100多个字段,真是汗颜,居然还靠这个当电脑部经理,月薪16000!!!再后来,1997年delphi1.0刚出不久的时候,好像java也是这个时候开始在中国出现,还有pb比这两个出得略早些,inte.net也是这段时间慢慢在中国开始普及,硬件方面则是P166,97年真是中国IT发展的历史时代啊。我选择了delphi,主要原因是喜欢pascal的风格吧。正是从这个年代开始接触对象这个东西,也是客户机/服务器系统当道的时候。当时是java、delphi、vb的书混着看,总算是弄明白了继承、多态这些概念。可是写起程序来似乎根本用不上,最多的还是过程式的思考方式。到了delphi3.0的时候,三层模型开始满天飞。ms有com、com+,borland有midas、data model,连sybase都号称pb支持3层模型了,现在才总算明白其实这些老外都挺能吹的,尤其是搞it的。2000年——2002年这段时间看了几本李维这个骗子的书,我想很多人都读过那几本吧,其中我认为唯一有价值的东西就是断开连接的数据集这种设计模式,其他的都是垃圾。不过说个客观点的话,李维后来又出了一本剖析vcl的书,倒还是真的有点价值,就是出得太晚了。这段时间最大的遗憾就是没有读java在这方面的书,也没有关注java这方面的发展,时间都浪费在李维这个骗子身上了,这段时间中间件也吹得挺凶的,连金蝶这种垃圾公司也嚷着要做,当时也一直没有搞明白这到底是个什么东西,直到几年后研究了一下jboss才明白。一直到了02年,实在对这个3层模型以及com这些相关的概念没有彻底搞清楚,就开始读uml、j2ee,好像有了点开窍的感觉,但是总感觉还缺一根线把这些东西串起来,直到有一天在深圳书城看到了robert martin的敏捷软件开发,因为前段时间在网上看到了不少设计模式、敏捷开发、极限编程之类的名词,就拿起这本书翻了翻,看了2页,我就断定这正是我所需要的书,立刻买回家一口气读完,有种顿悟的感觉。后来又开始用c#,研究了几个样例程序,什么petshop啦,什么duwamish啦,总算是基本开窍了。最后总结一下,欢迎各位网友一起探讨。现在我们写程序都讲究个什么对象化设计,可是实际应用起来很困难,究其根本来说存在以下几个障碍,对象同关系数据库之间的障碍,对象同网络、硬件性能之间的障碍,最后就是对象同以dataset为中心设计的data aware控件之间的障碍。java主要试图用中间件解决上述问题,ms则交给程序员自己了。所以用java编写数据库程序,就得弄上一大堆的ejb,还要对付swing这种人不人,鬼不鬼的东西,实在不是什么好方法。用ms的东西,就要把对象化设计这个念头先抛到一边。反思一下,存在的就是合理的,在以数据为主体的程序中,是否真的有必要做出很彻底的对象化设计,一个实体类的ejb到底有多大的实际意义呢?简单地用dataset来表示似乎也不错。所以我觉得对于相互逻辑关系比较复杂的对象,才有必要进行彻底的对象化,否则就是过程化的老路子好了。