重新发明轮子, 并不是每次都那么愚蠢

Don’t reinvent the wheel – 这句话在Java领域以至讳莫如深。他的大意是好的,不要做重复的工作,在已经有解决方案的情况下,采用成熟的东西比重复的创造要好得多。然而,并非所有情况下都满足的。我要一只自行车轮,但在我面前的只有火车轮和汽车轮。两者功能相近,构造原理却大相径庭。为了不重新发明轮子,那么我有两种选择:1) 将火车轮或者汽车轮进行修改,让他适合我需要的自行车轮项目;2) 更改我的基于自行车轮的解决方案,让他成为一个基于火车轮的项目。一看便知,这两种解决办法都是如此笨拙与牵强,那么,这个时候,除了Reinvent the wheel, 你有更好的办法吗?

本来想在项目中应用Struts, 但是不知原因他与公司的现有平台不兼容。花了两天时间,请产品部的同事来帮忙,都没有解决这个问题,谁知道会在这个问题上纠缠多久?于是干脆放弃。参考了SprintMVC和Struts的MVC实现后,花了两天时间,整理了一下想法,自己做了一个MVC实现。整个实现核心部分只用了4个POJO,一个Servlet和一些跟具体项目相关的配置文件。它最大的特点是简单。具备Java知识的人可以在1小时内熟练掌握它;支持多模块同时开发,将整合工作量降到最低;更具优越性的是它对公司现有的开发模式影响很小,学习难度以及思维转换的坡度很小。

看来,我发明的这个轮子还挺适用。:-)

Comments are closed.