代码:
-
voFactoryInterface
public interface VoFactoryInterface {
R secondVo(List<MobileSecond> seconds);
R fristVo(MobileSecond second) throws ClassNotFoundException;
}
-
AbstractVoFactory
public abstract class AbstractVoFactory implements VoFactoryInterface{
public R secondVo(List<MobileSecond> seconds) {
return null;
}
public R fristVo(MobileSecond second) throws ClassNotFoundException {
return null;
};
}
-
FirstVOClass
@Compent("firstVOClass")
public FirstVOClass extends AbstractVoFactory {
@Override
public R fristVo(MobileSecond second) {
//.........业务代码
}
}
-
SecondVOClass
@Compent("secondVOClass")
public secondVOClass extends AbstractVoFactory {
@Override
public R secondVo(List<MobileSecond> seconds) {
//.........业务代码
}
}
-
VoFactoryBuilder
public interface VoFactoryBuilder {
public VoFactoryInterface createFristVo();
public VoFactoryInterface createSecondVo();
}
-
VoFactoryBuilderImp
@Component
public class VoFactoryBuilderImp implements VoFactoryBuilder {
@Override
public VoFactoryInterface createSecondVOClass() {
return (SecondVOClass)SpringIocContextUtil.getBean("secondVOClass");
}
@Override
public VoFactoryInterface createFirstVOClass() {
return (FirstVOClass)SpringIocContextUtil.getBean("firstVOClass");
}
}
代码使用
voFactoryBuilder.createSecondVOClass().secondVo(seconds);
voFactoryBuilder.createFirstVOClass().firstVo(second);