用策略设计模式+工厂模式+模板方法模式,三种设计模式一起使用,优化if else,还用了责任链设计模式
//工厂设计模式
public class Factory{
private static Map<String,Handler> strategyMap = Maps.newHashMap();
public static Handler getInvokeStrategy(String name){
return strategyMap.get(name);
}
public static void register(String name,Handler handler){
if(StringUtils.isEmpty(name)|| null == handler){
return;
}
strategyMap.put(name,handler);
}
}
//策略设计模式
public abstract class AbstractHandler implements InitializingBean{
public void method1(String name){
throw new UnsupportedOperationException();
}
public String method2(String name){
throw new UnsupportedOperationException();
}