前言:公司让我做个数据比对的功能,然后我也不想去重复编写以前的代码,就想写的代码风骚一点,所以就用了注解,和一点反射,和工厂模式;为了以后方便查看我就写了这边博客
首先我们创建一个工厂类,这个类用于生产你所需的对象
public class DataDockingAbstractFactory{
public static AbstractEachClass generateEachObject(String type){
//判断类型返回你所需要的对象
if(type.equals("code")){
return new productOne();
} else if(type.equals("codeOne")){
return new productTwo();
}
}
}
定义所需的要生产的类型
public class productOne extends AbstractEachService {
@Override
public Map<String, Entity> cache(){
............
}
}
public class productTwo extends AbstractEachService{
@Override
public Map<String, Entity> cache(){
............
}
}
定义生产模具
public abstract class AbstractEachClass{
//根据传入的类型不同创建数据
public void createEachData(Entity client, Class dataClass) {
}
//每个产品要缓存的数据不一样
public Map<String, Entity> cache();
}