关于反射的一点不成熟的看法

luozhikee 07-09-13
              

Spring,struts,hibernate大量使用了反射技术,这样大大的影响了性能,我们能不能通过写一些配置类来用来代替xml文件?这些配置类我们也定义一些规则供框架中的其他类来调用。使他同样达到用反射的效果,我们写一些通用的接口供底层用,这些接口我们可以写一些get,set方法,我们在继承接口时实现这些方法,在传给每个set方法的参数可以是我们写好的一些javabean,get方法得到的是表类(我们把表也封装成一个类)例如我们要配置hibernate的表与javabean的关系,我们可以定义一个set(javabean),再用再用 property get()方法 返回相应的表对象
。在通过Map来管理他们的关系。不知道可不可行?


上面可能没有讲的清,我的意思就是把po对象和表都封装成对象,再写一个配置类(用map储存关系)来管理他们的关系。从而达到我们用这个配置类来替换xml配置的目的。xml配置是如果业务更改,我们修改xml配置文件,这里我们是通过修改配置类的map中javabean和表对象的关系来适应需求变化。


这只是我的一个初步想法。大家讨论一下。


[该贴被luozhikee于2007年09月13日 17:41修改过]
[该贴被luozhikee于2007年09月13日 17:46修改过]

              

slangmgh
2007-09-14 09:16

第一,如果你需要独立的数据访问层,如hibernate,那么从技术上讲(Java是静态编译的),你最后一定会使用到反射。

第二,性能和易用性之间有一个平衡关系,你无法使两者同时达到最优,所以应该根据不同的项目情况来权衡。

banq
2007-09-15 09:47

>大量使用了反射技术,这样大大的影响了性能,我们能不能通过写一些配置类来用来>代替xml文件?

影响性能是肯定的,但是随着硬件和JDK提高,这些因素正在和设计带来好处相比,越来越微不足道。

反射的主要设计优点需要从设计的松耦合来理解,如果写一些配置类,那么我们的程序就依赖这些配置类,而使用反射则非常干净和优雅。