责任链模式在spring中的简洁优化

2022-06-28  本文已影响0人  Alien28

责任链模式顾名思义是对一个业务需求中的具体实现进行解耦,每个链路处理自己的需求,如本次开发中的需求是一条数据将进行多种方式的处理,得到一个处理后的结果,下面是一个简化的流程图。


未命名文件 (2).png

代码步骤

 public interface IData {    
  JSONObject execute(JSONObject record);
}

过滤数据

@Order(value = 1)
@Component
public class FilterDataImpl implements IData {

    @Override
    public JSONObject execute(JSONObject record) {
        //数据过滤处理
            ****
        return record;
    }
}

添加数据

@Order(value = 2)
@Component
public class AddDataImpl implements IData {
    @Override
    public JSONObject execute(JSONObject record) {
        //数据添加处理
            ****
        return record;
    }
}

等等

@Component
public class DataFactory {

    @Resource
    private List<IData> dataList;

    public String execute(JSONObject originData){
        JSONObject processResult =originData;
        for (IData data : dataList) {
            //数据为空后不继续执行
            if (processResult ==null){
                return null;
            }
            processResult= data.execute(processResult);
        }
        if (processResult !=null) {
            return processResult.toJSONString();
        }
        return null;
    }
}

spring优化点

上一篇下一篇

猜你喜欢

热点阅读