Hibernate为什么如此流行?

原创 2004年08月30日 01:26:00
Hibernate为什么如此流行?
作者:robbin 来源:hibernate

这篇文章是Gavin King写的,非常有趣,充分体现了Hibernate的设计理念,我粗略的意译如下:

下面是对Hibernate开发工作的个人想法,正是这些工作使得Hibernate如此迅速的得到广泛的欢迎。

1、飞快的版本发布

保持活跃的开发速度,经常进行版本发布,甚至几天之内就从前一个版本开发到下一个版本。这样是保证软件远离Bug的最好的办法,也可以让用户感到很放心,确信Hibernate的开发十分活跃,另外这样做也有一大好处,就是可以发现哪些功能是用户真正需要的。

2、回归测试

我想现在整个Java社区一定都很重视自动回归测试。如果软件的功能和设计有比较大的修改,那么一个综合性的test suite对于软件可维护性和稳定性来说实在是太重要了。我们应该有这样的意识:如果对软件的一个新功能没有进行回归测试,我们根本就不该去做它。

3、把一个功能做到最好

要么不做,要做,就一定做到最好。那些我们做不到最好的功能,我们根本不去做,扔给其他软件去做吧。

4、避免过度设计

浪费大量的时间和精力进行软件功能的抽象和扩充软件的灵活性,还不如多花点时间来解决你的用户面临的实际问题呢!简单一点! 软件能跑起来就OK,不要尝试去解决你的用户根本不关心的问题。就算你的软件设计的不够优雅也没有关系,反正还是initial阶段嘛!以后再 refactor,你应该关注的问题是及时的把有用的功能给做出来。

5、集权

在你需要由民主投票来下决定之前,至少你已经把软件轮廓做好了。软件开发需要由一两个开明的人来领导,这样可以保证软件开发的连贯性而不至于产生太大的分歧,可以保证开发团队集中火力把要实现的功能做到最好。我觉得,OSS软件最大的风险就是意见不统一,摊子铺的太大,结果最后搞的什么都没有做好。

(译者按:非常赞同,凡是成功的OSS软件,都是在某个牛人已经把软件做好了之后,发布出来,然后由大家往里面添加功能的,并且在牛人的领导下不断进步。缺乏牛人的OSS软件都不算很成功,比如Mozilla)

6、文档

没有什么比文档更重要的了。如果你的用户不知道你的软件有这么一个功能,就等于没有这个功能,干脆把它去掉得了,省得给源代码增加复杂度。

7、避免标准化

好的标准可以带来软件的互用性和可移植性,坏的标准能够窒息软件创新!“支持XXX标准”根本就不是真实的用户需求,特别是当这个XXX标准是那些在其位不谋其政“所谓”的专家委员会制订出来的。(译者按:莫非指Sun,IBM等几个big name?)最好的软件是在不断的尝试,不断的出错,不断的经验积累的过程中产生的。 事实上的标准往往更加贴近用户需求。

8、10分钟之内把Hibernate跑起来

潜在的Hibernate的用户在他们下载了Hibernate,第一次使用的时候根本就不可能花半个小时那么多时间来安装、配置和 troubleshooting,他们早就丧失了对Hibernate的兴趣了。我们的口号就是新用户(假设有足够的JDBC知识)5分钟之内把 Hibernate的Demo跑起来,而他们能够在1个小时之内写出“Hello World”式的最简单的Hibernate程序并且正常运行。

9、开发人员的责任感

用户总是不可避免的碰到问题,开发团队有责任有义务提供帮助。用户让我们知道了文档的漏洞,用户让我们知道了测试用例的小bug。此外,没有用户来用我们的Hibernate,我们还开发它做什么,不是浪费时间吗!

有个关于bug的笑话:用户根本不介意发现新功能的bug(译者按:Windows的用户好像都是如此),只要你能迅速的改掉bug。“责任感”意味着 bug修复应该在1周之内。从收到bug报告到bug修复代码提交到CVS上要做到平均在24小时左右,这才是一个理想的目标。

10、易用的、可更新的wiki网页

(译者按:cowiki是Hibernate网站用的一个网站内容发布软件)

WebService为什么不如RESTful API流行

1 WebService有很多协议,为什么HTTP比较流行? WebService是个很重型的规范,它的应用协议是SOAP(简单对象访问协议),它所依赖的下层通信方式不单单是HTTP,也有SOA...
  • baolin811
  • baolin811
  • 2015年08月20日 23:27
  • 7131

Hibernate工作原理、为什么要使用Hibernate,Hibernate的内部机制。

Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息,创建SessionFactory 3. 打开Sesssion 4. 创建事务Transa...
  • ak341221
  • ak341221
  • 2014年07月18日 09:58
  • 1700

Go语言为什么这么流行?

这个问题很复杂,多方面原因决定了Golang的实用价值。 Go语言的背景 Go的吉祥物Gordon田鼠,是由Google公司创造一种新程序语言,并且公司为这门语言付出了极大的努力。Go语言一...
  • GreatElite
  • GreatElite
  • 2016年04月25日 10:13
  • 1490

struts_Hibernate_Spring Web流行开发框架

  • 2012年04月19日 16:12
  • 1.01MB
  • 下载

Java 流行框架(Spring/Struts2/Hibernate/iBatis)都在使用什么日志组件

做 Java Web 应用我想多会采用这两种框架组合,SSH 和 SSI,其实我是不太喜欢用这两种缩写方式: SSH = Spring + Struts + Hibernate,SSH 由久已久所代...
  • lidawei201
  • lidawei201
  • 2013年01月17日 15:15
  • 3207

osgi与流行的框架(spring,struts,hibernate等)的集成

2.与流行的 JAVA B/S体系架构的集成   了解了基于osgi系统设计的基本思想,进一步来研究osgi与流行的框架(spring,struts,hibernate等)的集成,这里首先讲解一下集成...
  • xiaoyu411502
  • xiaoyu411502
  • 2012年06月21日 10:08
  • 19251

一种优雅的流行架构:Struts+Spring+Hibernate

用java来建立一个很有价值的web 应用不是一个简单的任务。在架构这个应用时要考虑很多的因素和问题。从更高的层次来看,开发人员面临着关于如何构建用户接口,何处驻留业务逻辑,以及如何实现数据持久性这些...
  • jiangcl207504
  • jiangcl207504
  • 2012年01月04日 09:53
  • 306

【日志】Java 流行框架(Spring/Struts2/Hibernate/iBatis)都在使用什么日志组件

做 Java Web 应用我想多会采用这两种框架组合,SSH 和 SSI,其实我是不太喜欢用这两种缩写方式: SSH = Spring + Struts + Hibernate,SSH 由久已久所代表...
  • youxia0075454
  • youxia0075454
  • 2015年11月20日 10:41
  • 686

hibernate包

  • 2018年01月16日 09:40
  • 13.39MB
  • 下载

struts+hibernate整合jar包

  • 2018年01月12日 16:43
  • 10.89MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate为什么如此流行?
举报原因:
原因补充:

(最多只允许输入30个字)