基类解决代码重复问题

场景:很多代码又一段公共处理流程,处理的逻辑用的字段是相同的,但是不同代码块入参有区别
解决
1、提取基类dto

@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class BaseActItem implements Serializable {
    /**
     * 操作
     */
    private String action;

    /**
     * 添加版本号,http接口不返回该字段
     */
    @JsonIgnore
    private Long addVersion;

    /**
     * 删除版本号,http接口不返回该字段
     */
    @JsonIgnore
    private Long removeVersion;

    /**
     * 操作版本号
     */
    private Long version;
}

2、不同入参继承基类

@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class InterfaceItem extends BaseActItem {
    /**
     * 网卡名
     */
    private String name;

    /**
     * 网卡地址,包括ip和掩码
     */
    private String address;
}

3、公共方法抽取

public static ConfigRespDTO getConfigResp(Long currentVersion, String deviceMac, List srcList) {
处理逻辑。。。
}

4、方法调用

List interfaceItemList = new ArrayList<>();
getConfigResp(version, deviceMac, interfaceItemList);

你可能感兴趣的:(基类解决代码重复问题)