在最近的项目中,涉及到根据传入的参数来新建不同的类,然后调用不同类的相同方法,因为太多if-else 或者 switch case ,但是这样的写的代码看起来很累赘(性能的提升我没去验证,感兴趣的朋友可以去试试),所以想到了如题的方法。其实这个也可以用单纯的策略模式去完成。废话不多说,直接上代码
1.首先是枚举类 TypeEnum:
枚举类的作用:用于存放需要进行操作的分支
package com.railway.bigdata.electric.streaming.comm.pg;
/**
* @author kain.wang@embracesource.com
* @date 2018/11/27 14:49
*/
public enum TypeEnum{
//枚举类的values 列表
A_PROCESS("A","com.railway.bigdata.electric.streaming.comm.pg.signalling.AProcess"),
B_PROCESS("B","com.railway.bigdata.electric.streaming.comm.pg.signalling.BProcess"),
C_PROCESS("C","com.railway.bigdata.electric.streaming.comm.pg.signalling.CProcess"),
private String type;
private String clazz;
private RefelDbTypeEnum(String type,String clazz){
this.type=type;
t