SpringBoot 结合工厂模式开发实战
// 模型实现类-1
@Component
@Slf4j
public class ModelOne extends AbsModel {
@Override
public boolean enabled() {
return true;
}
@Override
public ModelEnum modelName() {
return ModelEnum.MODEL_ONE;
}
@Override
public Map<String, Integer> execute() {
Map<String, Integer> rlt = Maps.newHashMap();
rlt.put("TxId", 10);
rlt.put("AlId", 100);
log.info("execute model one...");
return rlt;
}
}
// 模型实现类-2
@Component
@Slf4j
public class ModelTwo extends AbsModel {
@Override
public boolean enabled() {
return true;
}
@Override
public ModelEnum modelName() {
return ModelEnum.MODEL_TWO;
}
@Override
public Map<String, Integer> execute() {
Map<String, Integer> rlt = Maps.newHashMap();
rlt.put("TxId", 88);
rlt.put("AlId", 89);
log.info("execute model two...");
return rlt;
}
}
// 模型实现类-3
@Component
@Slf4j
public class ModelThree extends AbsModel {
@Override
public boolean enabled() {
return true;
}
@Override
public ModelEnum modelName() {
return ModelEnum.MODEL_THREE;
}
@Override
public Map<String, Integer> execute() {
Map<String, Integer> rlt = Maps.newHashMap();
rlt.put("TxId", 78);
rlt.put("AlId", 77);
log.info("execute model three...");
return rlt;
}
}
// 模型实现类-4
@Component
@Slf4j
public class ModelFour extends AbsModel {
@Override
public boolean enabled() {
return false;
}
@Override
public ModelEnum modelName() {
return ModelEnum.MODEL_FOUR;
}
@Override
public Map<String, Integer> execute() {
Map<String, Integer> rlt = Maps.newHashMap();
rlt.put("TxId", 69);
rlt.put("AlId", 70);
log.info("execute model four...");
return rlt;
}
}
// 模型实现类-5
@Component
@Slf4j
public class ModelFive extends AbsModel {
@Override
public boolean enabled() {
return true;
}
@Override
public ModelEnum modelName() {
return ModelEnum.MODEL_FIVE;
}
@Override
public Map<String, Integer> execute() {
Map<String, Integer> rlt = Maps.newHashMap();
rlt.put("TxId", 98);
rlt.put("AlId", 95);
log.info("execute model five...");
return rlt;
}
}