轮子真是一个永远的话题

轮子是一个永远都说不完的话题,总有一帮子人在哪里叫嚷:“不要重复发明轮子”,然而事情总是有其对立的一面的,还有另外一帮子人在那里不停的发明轮子。好像永远都没有一个定论来标明是否还需要另外一个轮子。

如果说要拿轮子来举例子,那不防看看真实的轮子:
1 最早的时候拿木棍来当轮子搬运重物。
2 然后发展到木头做马车的轮子
3 再发展到木轮子上来包一层东西来减震之类
•••••••••
n 在到现在各种各样的轮子。

由此可见轮子是在一个不断的进步过程之中,为什么轮子在进步,因为人们需要,所以重新发明新轮子是人们的需要决定的。
那么java里面的轮子呢,为什么要重复发明java里的轮子,还是人们需要,就从mvc框架来说,就有几百个轮子,各有个的特色,大有三百分天下之势,但是天下之事,分久必和,和久必分,现在这个mvc的轮子好像变少了,struts和webwork就合并了,据说struts2.0.3还是一个0配置的mvc框架,还有什么智能action,能够大大简化开发,可见这个轮子也进步了,轮子更先进了。

那为什么又有人嚷着不要发明轮子呢,认为重新发明轮子代价高,这也未尝没有道理啊,比如说现在的公司,用个工作流还要自己开发,结果开发出来的工作流所谓的“引擎”功能及其的简陋,还说能够满足项目需要,那么这么个简陋的引擎能做的事,外面那些工作流引擎不能做吗(如果真是这样,那mq和jbpm也太蹩脚了吧),人家能做的事,你还要重新做一边,而且做的比人家差的多。虽然是这样,但是借口也是要的:客户不要用开源的东西。听到这里真的很无语,为什么要这么说呢,因为spring+hibernate都是开源的,两个大头用了开源的,居然还好意思说不要用开源的,搬石头砸自己的脚(ok,不抱怨了)。这样做的后果就是整个项目中的工时变长了,加班的时间变多了,客户觉得我们慢了,那么这样做对项目有什么优点吗,暂时还真没有想到。

回到轮子的问题上来吧,那么还要发明轮子吗,要! 别重复发明轮子了,对!如果是做项目,还是拿来主义吧(技术型公司除外),如果是现有的轮子不能满足需要,还是再发明一个吧,还有最重要的一点,如果你觉得现在的哪些轮子不够好,你有更好的想法,那就更需要去再发明一个更好的轮子了。

你可能感兴趣的:(spring,Hibernate,mvc,jbpm,Webwork)