首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

java消除代码相似性

2012-10-21 
求助:java消除代码相似性我现在有一个枚举类ExperimentType在model里有很多类似的各种实验对象,他们都是继

求助:java消除代码相似性
我现在有一个枚举类ExperimentType
在model里有很多类似的各种实验对象,他们都是继承某一个实验对象基类BaseExperiment,他的DAO是experimentDAO

当我做保存或者更新的时候,就得根据不同的对象来
我是这么写的
switch(ExperimentType.valueOf(experimentName)){
case a:
A a= (A)experiment;
A aNow = (A)experimentDAO.getObject(experiment.getId());
aNow.copyProperty(a);
experimentDAO.updateObject(aNow);
break;

case b:
B b= (B)experiment;
B bNow = (B)experimentDAO.getObject(experiment.getId());
bNow.copyProperty(b);
experimentDAO.updateObject(bNow);
break;

case c:
C c= (C)experiment;
C cNow = (C)experimentDAO.getObject(experiment.getId());
cNow.copyProperty(c);
experimentDAO.updateObject(cNow);
break;
...............很多类似的
}
可以发现上面的代码都是很类似的,所以我就想,能不能让他通过某种机制,如反射等,自动根据枚举里面的对象来匹配操作,动态加载不同的类对象来实例化,让他变成不用switch的这种写法,让代码更简单化,消除这种相似性

还请大家帮忙,谢谢!

热点排行