一直以后,从自学java开始,到零零碎碎的以前写过一些小东西,以致到出了校门,走上正真的软件开发岗位,都在思索着,下一步,我应该学习什么,在java如洪流般的框架版本发布,以及开源世界的一片火热和ms最新发布的n多有人的新名词,面对这些,不禁想起史玉柱曾经说过类似的话:中国的企业家,面临的不是把握住一些形形色色的机会,而在于是否能够拒绝各种形形色色的诱惑,其实,程序员何尝不是如此;
一直以来,由于是自学的关系,都市闭门造车,在学校开发的一些小东西,很多时候,在简单的思考以后,直接就开始编码下来,结果,在代码编写的过程中,不断的改变自己的设计要求,很多东西都是在写着写着的时候,临时起意,结果,往往写到后面,就发现要么是做不下去,要么是必须把前面的代码很多都得推翻,甚至中间包括数据库的设计都要重新开始,我想,这就是缺乏正式软件开发,缺乏经验的典型表现;
现在不管是大多培训学校,还是学生(包括像自己这样完全自学的),在学习java的过程中间,都把重点放在java的一些开源框架上面,spring,hibernate,struts,jsf,osgi等等,学习了多少框架,用了多少框架的集成,经常可以看见什么spring,hibernate,struts+...........,做出来了一个登陆模块,然后一大票人在下面惊为天人,其实,这些框架的过多的堆砌只会违背了这些框架作者的初衷,我们不是为了使用这些框架而使用这些框架,更多的,我想是应该针对于本身应用的不同,分析系统,划分层次,设计合理的架构,只要有好的架构,有好的代码基类的实现,我们自己一样能够写出很好很灵活的框架,毕竟大多数开源框架都是通用型的框架,不带有业务和行业性质的;
现在的工作,是在基于一个GWT&JAVA开发出一个系统的,具有可扩展性的,可插拔的插件式的平台,在这个平台上,我们可以编写自己的插件实现,无缝的集成到现在的平台系统上,从做这个平台,我学习到了很多的东西,一个平台,一个应用是否可扩展,是否可维护,很大的取决于这个应用和平台的基本架构是否可行和是否严谨,只有把地基打牢了,上层建筑才会具有更好的健壮性,在这个平台的编写过程中,我像架构师详细的质询了有关平台的架构设计,在代码编写过程中,详细的考虑代码的编写艺术,积极的思考设计模式,系统与系统之间的脱耦,类与类之间的脱耦;软件开发是一门艺术,利用经验和知识解决具体问题的工作都是一门艺术,在架构的设计和模式的应用中,我充分的感受到了软件的可预见性,人的可预见性,我依然想学习很多东西,但是,现在我的学习,却并不局限于具体的语言,具体的框架,而是更多的去学习软件架构的思想,算法的实现,代码的模式,这样的代码让我写得比什么时候都觉得舒畅,我要争取写出更好的代码,我要争取能设计更好的软件架构,做更好的软件,用手指在键盘上快乐的游动;