“不要重复发明轮子”,这句话伴随着Spring框架的日益广泛应用,而被广大开发人员所熟知,很多人奉为经典信条。
       然而,Bob Lee 重磅推出Guice,重复发明了一个轮子,挑战Spring框架,一下子在业界引起轩然大波。
        为什么要重复发明轮子呢?有着现成的开源框架不用,非要自己再写一个,费这劲干啥?这不是吃饱了撑的吗?
        任何一个读者,请试想一下,现在Java领域开源的框架、组件非常多,如果你在工作中,自己要写一个框架或组件,而开源领域已经有了类似的东西(比如说你要写一个替换Struts、Hibernate的框架),是不是你的项目组成员、周边的同事、上级都会觉得这非常愚蠢、荒唐、可笑、不可理解。基本上都会投反对票,认为你是个不可理喻的人。
        那么,Bob Lee这种做法,到底是为了什么?到底应不应该提倡呢?
        先看看Bob Lee是怎么说的:我不喜欢现在IoC框架使用XML配置文件进行bean组装的方式,因为这样无法把代码修改和配置文件修改同步,配置文件也无法进行类型检查,这样的IoC会让程序员更倾向于使用Ruby语言。但是使用传统的Factory方式创建bean显然又非常不方便,于是我就选择了自己重复发明了轮子。
        可以看出,之所以要重复发明轮子,是因为发现了已有轮子的缺陷和不足,为了有一个更好的轮子,于是决定写一个新的。这就是进步,这就是创新。
        因此,这种做法,是超级推荐的,是顶级技术人员应有的思维与行为。这与我的“写超一流的组件”这种思路完全一致。
        Bob Lee,你太棒了,我为你叫好!