第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將一個 dto 更改為另一個

將一個 dto 更改為另一個

茅侃侃 2024-01-05 16:57:48
@Getter@Builder@AllArgsConstructor@NoArgsConstructorpublic 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 是否可以?需要的是某些方法具有參數(shù),并且可以從代碼中的 DTOGenerateContentDto獲取它 。GenerateDaByContextDto還有其他選擇可以讓它變得更好嗎?SRP關于規(guī)則好嗎?我已經(jīng)簡化了這些DTOs字段。
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

強烈地說,它是基于意見并取決于項目。

但讓我們記住單一責任原則。DTO 負責層之間的數(shù)據(jù)保存,而不是轉(zhuǎn)換。我更喜歡有一個簡單的轉(zhuǎn)換器,其方法如下:

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

出于同樣的原因,通常 DTO 是不可變的。您可以使用 lombok 的@Value注釋。

如果符合業(yè)務邏輯,另一種解決方案可能是組合:

class?GenerateDaByContextDto?{
????private?GenerateContentDto?generateContentDto;
????...
}


查看完整回答
反對 回復 2024-01-05
?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

您可以將@Getter, @Builder, @AllArgsConstructor,替換@NoArgsConstructor為@Data


這是更好的方法


@Data

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();

    }

*/

}


查看完整回答
反對 回復 2024-01-05
  • 2 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號