昨天一同学问我现在开发中用哪些技术?有些惭愧,虽然我一直有去学习或了解一些新技术,但真正用到项目开发的比较少,我的习惯是学习它们的一些思想,它们的架构。
现在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 (含有源码,代码生成工具)》
是有实践中行动之一。。。
分享到:
相关推荐
以井冈山西部萍乡市泰华养殖场区域大中型沼气能源工程为例,针对其中沼气能源工程系统开发系列实际问题,通过表函数和选择函数等多种形式函数的结合, 建立系统动力学仿真方程,用沼气开发和应用子仿真模型逐步建模法对...
matlab开发-选择映射空间缩减技术。PAPR是OFDM系统的一个主要缺点,本文介绍了SLM作为OFDM系统的一种简化技术。
8第四章产品开发与技术选择-0325.pptx
7第四章产品开发与技术选择-0325.pptx
实验项目名称 通讯录 实验目的与要求: 目的:练习掌握 Android 软件开发基本编程技术、Android 系统 SQLite 数据库的使用、通话、短信的使用等,设计制作一 Android 通讯录软件。 要求: (1)每位同学独立设计...
以上技术本人却实使用过,而且已经使用它们做过项目,基于以前的工作经验给初学者和正在对自己应用系统进行选择的同仁谈谈自己对它们的评价,以做参考,同时也请大家提出自己的想法和意见 ,多交流。但是我有一个...
jsp 日期控件,please download for your best study way to my work and this can be a good job!
AutoE_V2版本新增了代码模板扩展功能,开发人员可以根据业务需求自定义所需的代码模板,进行模块配置时选择自定义的代码模板,实现自动生成的代码完全符合自己的业务需求,使得开发平台能够适应于各种各样的业务...
生产运作管理-3产品开发和技术选择.pptx
6-2见微知著,技术人如何选择靠谱的合伙人?-徐凯强 6-3-精益的新产品启动与技术创业-张思楚 6-4-基础软件开源与创业在中国-黄东旭 QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、...
3-产品开发、工艺设计和技术选择.pptx
首先通过分析技术引进、自主研究开发与其它经济活动的相关关系,建立一个计量经济联立方程模型,在此基础上以工业研究开发投入和技术引进投入为工具变量,以国内生产总值...
JavaWeb开发技术方案宝典介绍在在不同情况下JavaWeb开发可采用的技术的选择方案 现在上传的是关于JavaEE中报表打印方面的
XCOSnTh是一个既有裸机,又有便携开发,还有可选择的实时操作系统插件的平台 ----------------------------------------------------------------------------------------------------------- 适用芯片:STM32F103C8...
以信息家电、智能型手机、PDA产品为出发点,广泛深入地分析相关的嵌入式系统技术。适用于产品主管、系统设计分析人员及欲进入该领域的工程师。是一本开发嵌入式系统产品必备的入门圣经,进入嵌入式系统领域的宝典。 ...
通过Android应用开发的开放实验学生可以熟悉Android应用程序开发的工 " "具、开发语言和开发方法,为今后深入学习甚至进行实际App开发做好技术上的" "准备。 " "2.开放实验项目的任务与要求: " "学生理解Android...