`
qiujiayu
  • 浏览: 170744 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

开发中的那点事--技术选择

阅读更多

     昨天一同学问我现在开发中用哪些技术?有些惭愧,虽然我一直有去学习或了解一些新技术,但真正用到项目开发的比较少,我的习惯是学习它们的一些思想,它们的架构。
       现在Spring很流行了,但我一直只用它的最基本的功能,IOC,别的没用过,什么AOP我也只是了解过,一些社区也不少人说它很好用。但我至今也不为 之动心,我觉得现在用它的人还是比较少的,如即使我把它用好了,但如果哪天我的代码交给别人来维护时,如果他们没有接触过的话,对他们来说就增加了维护难 度了。
      现在ORM技术也是一个非常热门的话题,这方面的框架也很多,这些框架给程序员带来了些方便,但同时也带来些学习压力,这些框架都不是一两天能学好的。而 且也不一定能真正用好它,最后造成很多问题,可又不知道问题出在哪里,如何去解决它,因为这些是开源的框架,也无法得到一些技术支持,只能自己到网上找些 同僚们是怎么解决的。此时只能耐心地google了。我原来一家公司就用hibernate,经常出现内存泄露,公司集中了大量的人力(找了高好几个高手 去找问题)和物力(给服务器加内存),可到最后还是没有解决这个问题,最后的办法是,定期重启一下JBoss。像hibernate之类的技术,听说在外 包企业中用得比较多,因为它确实可以提高开发效率,而我这人比较追求系统的稳定,所以我自己负责的项目,我从来不用它。
       我觉得我们工作不是为了”追时髦“,看到别人用了新技术后,就去跟风。我们一定要去深入了解它,最后再做决定。如果你确实认可它,那就使用它,也是不错的”拿来主义“。我就很喜欢Log4J,它可配置性强,使用起来简单方便,而且学习起来也很容易。
       在ORM方面,我一直还是喜欢自己能过SQL语句来操作数据库,因为我们在一个系统中,对一个表的操作一般也就是一些简单的CURD,这些语句完全可以只 写一遍,然后复用它。而遇到一些统计报表用的SQL语句时,也没有ORM可以帮助你,索性还不如不用ORM。
      有的人说,ORM在实现数据库移植方面很有帮助。确实它在这方面做得挺不错的,但是在我们实现项目中出现更换数据库的可能是非常之小的,至少我没有遇到过 这样的项目。如果确实有这方面的需求,我们也不用考虑太多种数据库,三种以内就足够了,所以如果是我们手工写SQL语句也不会增加太多的工作量,我们只有 在以下两种情况下要考虑区分SQL语句:
     一、insert into 时,如果要返回主键值时;
     二、使用非通用函数时。

      经常这几年的经验积累,在数据库操作方面我也已经开发了一套自己的框架,为了提高开发效率,我也针对这个框架开发了一个代码生成工具。
     最后总结一下,我们要选择一种技术一定要考虑以下几点:
     一、学习曲线,尽量选择学习周期短的技术。如果学习同期长,有那个学习时间,估计自己都已经开发一套餐更适合我们自己需求的框架来了。以后系统维护的工作指不定会交给谁来做,所以如果选择的技术 学习曲线长,那就会提高维护成本。
     二、易用性,如果不容易使用,不但不能提高开发效率,反而影响我们的项目进度。
     三、稳定性,一个系统最重要的是稳定,如果经常出问题,谁都不想用的。


    最近一直在学习《走出软件作坊》,作者的一想做法确实很值得学习。

    最后为了说明我的想法,在我的博客中的《在JDK 1.5中实现真正面向对象形式的SQL语句3 (含有源码,代码生成工具)》 是有实践中行动之一。。。

0
0
分享到:
评论
1 楼 form_rr 2009-08-20  
楼主道出了心语啊!呵呵!
我现在的项目,struts不用,hibernat不用,spring不用。
只用最基础的东西。

相关推荐

Global site tag (gtag.js) - Google Analytics