gpt4 book ai didi

java - 将一个 dto 更改为另一个

转载 作者:行者123 更新时间:2023-12-02 09:22:20 26 4
gpt4 key购买 nike

@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GenerateDaByContextDto {
private String cNumber;
private BusinessContext businessContext;
private String zCode;
private String yCode;
private String xCode;
private String event;

public GenerateContentDto toGenerateContentDto() {
return GenerateContentDto.builder()
.businessContext(businessContext)
.event(event)
.build();
}
}

我正在进行代码审查,当时我想知道这样更改 DTO 是否可以?需要的是某些方法将 GenerateContentDto 作为参数,并且可以从代码中的 GenerateDaByContextDto DTO 获取。还有其他选择可以让它变得更好吗? SRP 规则是否合适?我简化了 DTO 字段。

最佳答案

严格来说,它是基于意见并取决于项目。

但是让我们记住single responsibility principle 。 DTO 负责层之间的数据保存,而不是转换。我更喜欢有一个简单的转换器,其方法如下:

public class GenerateDaByContextDtoConverter {
public GenerateContentDto convert(GenerateDaByContextDto source) {...}
}

出于同样的原因,通常 DTO 是不可变的。您可以使用 lombok 的 @Value 注释。

如果符合业务逻辑,另一种解决方案可能是组合:

class GenerateDaByContextDto {

private GenerateContentDto generateContentDto;
...
}

关于java - 将一个 dto 更改为另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58605046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com