东莞网站推广哪家好信息,建设网站的目的饮食类,深圳市建网站,团购网站切换城市js特效代码1、定义枚举接收不同的参数使用不同的handler, 2、定义个handerl接口#xff0c;统一方法处理#xff0c;每个handler实现该接口
public interface IMethodHandlerT, R {/*** 处理统一入口** param req*/R process(T req);
}
java3、定义一个简单工厂统一处理
Comp…1、定义枚举接收不同的参数使用不同的handler, 2、定义个handerl接口统一方法处理每个handler实现该接口
public interface IMethodHandlerT, R {/*** 处理统一入口** param req*/R process(T req);
}
java
3、定义一个简单工厂统一处理
Component
public class ParamTypeFactory {private ParamTypeFactory() {}public IMethodHandlergetParamHandler(String paramType) {//根据类型获取对应的处理器ClassIMethodHandler clazz ParamHandlerEnums.getParamHandler(paramType);if (Objects.isNull(clazz)) {throw new BusinessException(异常);}//处理Bean获取return SpringUtil.getBean(clazz);}
}
java
4、A\B\C三个handler实现
Component
Slf4j
public class AParamHandler implements IMethodHandlerdtoReq, ListdtoResp {Resourceprivate ViewMapper ViewMapper;Overridepublic ListdtoResp process(dtoReqreq) {return null; }
}通过入方式将枚举入参作为map的key,这样生成一个HandlerMap键值对 Resourceprivate MapString, IMethodHandler iMethodHandlerMap;