论坛首页 Java企业应用论坛

应用开源项目时,你会大肆封装,修改它吗?

浏览 23353 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-12  
趁着前面那位”LUCENE应用体会“,发表此帖,也是我心中压抑已久。

我觉得,对于开源项目,就是工具,大可不必用的那么复杂。

封装再封装,HACK再HACK,有什么明显的性能提升吗?某些我们作出的改进,人家作者能想不到相关方面吗?

见过有把Struts的DispatchAction 封装的面目全非的,见过有把Spring Mvc中的 controller 重写源代码的, 见过有为了实现美其名曰“权限的动态管理”把Acegi改的一塌糊涂的。最后效果怎么样?

改Struts的那个只是为了增加个log,写出的class却无法被 doclet辨认。改Spring mvc controller的那个也就是增加个log,却没有使用官方推荐的 paraMethodResolver,弄的那方法名是千奇百怪啊。至于改Acegi的那个,是我做的蠢事。人在公司,身不由己。上级要求的,于是我按照上级的思想来实现。到最后BUG 多多,诡异事件到处都是。领悟用3天,改Acegi用4天,教人使用还要2天。我自己都不知道把现在这东西是怎么用的。哎!

记得在某坛见到某前辈谈经验。他说,见过的好系统,都是设计简单的。越是经历多几个项目,我就越身有体会。

菜鸟刚飞,说的漏洞很多,请各位朋友多多指教!
   发表时间:2007-06-12  
吹拉弹唱,各有各的演绎,有何不可
0 请登录后投票
   发表时间:2007-06-12  
是啊,越简单的东西越好,大家都懂,改进也更容易
0 请登录后投票
   发表时间:2007-06-12  
根据项目需要,有的必要,有的根本就是多余
0 请登录后投票
   发表时间:2007-06-12  
有的时候根据业务的需要,把那些框架封装一下,就更适合新人使用了:)
0 请登录后投票
   发表时间:2007-06-12  
引用

记得在某坛见到某前辈谈经验。他说,见过的好系统,都是设计简单的。越是经历多几个项目,我就越身有体会。

封装框架和系统设计简单这两者相冲突吗?封装一下不就是为了用起来更简单吗,至于lz您说的情况,那只能怪封装的技术尚有欠缺,您压抑许久的话应该对那些在项目里乱封装的人说:“你丫的不会封装就不要乱搞”,而不是对大家说:“封装再封装,HACK再HACK,有什么明显的性能提升吗?某些我们作出的改进,人家作者能想不到相关方面吗?”

需要的时候就修改,不需要就不修改,需要怎么修改就怎么修改,何来绝对的"会"和"不会"
0 请登录后投票
   发表时间:2007-06-12  
题目中“大肆”是不是指不要随意封装,修改,而是有必要时才封装或扩展,以达到自己的需求或目的
0 请登录后投票
   发表时间:2007-06-12  
sg552 写道

见过有把Struts的DispatchAction 封装的面目全非的,
见过有把Spring Mvc中的 controller 重写源代码的,
见过有为了实现美其名曰“权限的动态管理”把Acegi改的一塌糊涂的。

struts 的日志封装作过
spring 的日志用装备来作的。
Acegi  的动态管理用spring装备作的。

spring本身不要chack它的话非常的好用。。。
struts还没见过哪个公司用的是原始的dispatchAction几乎都是封装过的。
0 请登录后投票
   发表时间:2007-06-12  
不太赞成直接重写源代码,一方面不利于update,另一方面由于本身设计水平或者技术上实力的缺陷,重写代码的质量也很难得到保证。
如果有需要植入功能的地方,还是觉得用AOP会比较好一些。
0 请登录后投票
   发表时间:2007-06-12  
nihongye 写道
吹拉弹唱,各有各的演绎,有何不可

同意,为何要千篇一律呢,而且很多改动都是面向项目需要的,不是common的需求,框架当然没有办法做了。
而且大部分框架都是支持扩展的,但是扩展不是修改源码。如果是修改源码就不应该了。当是根据项目的需求来扩展这是非常正确的决策
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics