作者dream1124 (全新开始)
看板java
标题[问题] Java Intropection的代价是否很贵?
时间Wed Jan 22 20:48:12 2014
会问这个问题,是因为好像曾经听过这类说法
再加上最近看过 apache BeanUtils 的原始码以後,
发觉原来就算只是物件的属性盖来盖去也可以这麽复杂....
既是查找,然後定义再比对,最後还要快取
密密麻麻程式码让我不知如何下手... 其实我想解决的问题不复杂啊~ Orz
现在很流行让属性的 setter 有回传值,然後型态设定为物件自己,
接着理所当然在设定完属性後回传自己,方便使用者连续呼叫 setter 设定属性。
只是公司多年长期维护下来的案子已经很旧了
里面依赖的 struts1 , apache BeanUtils 2.1, 都不觉得这种 setter 是合理的,
让我想把物件的 setter 回传自己的构想很难实行....
因此有自行实现 BeanUtils 工具的想法
只是看到 BeanUtils 的原码令我有些却步,
想请问有什麽方法可以解决像这样的需求呢?
不管是开发新工具还是改旧的工具,请问大家会怎麽做呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.230.164.144
2F:→ qrtt1:看其他专案的 api 设计同时提供这二种 style,反正 setter 01/22 21:04
3F:→ qrtt1:用 ide 去 generate 很快啊。只是,我们真的需那麽多 setter 01/22 21:05
4F:→ qrtt1:吗?以前小时候不懂事,都勾全选把所有东西 gen 出来 >"< 01/22 21:06
Setter 很容易产生, 只可惜後续在不同 bean 之间传值不是很方便
偏偏现在专案有提供的工具只接受 void setXXX 这种写法
5F:→ qrtt1:所以,你可以同时提供二种 style 啊xd 01/22 21:41
6F:→ qrtt1:虽然我不觉得是个好建议就是了(不过 aws sdk 是这麽弄的) 01/22 21:42
在有些比较旧的 BeanUtils 定义中, 大概会觉得这不算是正常 Java Bean的属性吧~
7F:推 NewSpec:欢迎使用Grails~ XDDDDDD 01/22 22:55
公司开发很多年, 天天投入营运的专案了,
依赖的工具库和框架某方面来说也依赖得很深, 成为系统一部分, 不是说改就能改的
※ 编辑: dream1124 来自: 36.230.164.144 (01/22 23:46)
8F:→ qrtt1:脑筋要转一下啊,不要用 setter naming 就好了啊。 01/23 08:24