Sobes.tech
Back to questions
Junior — Middle
62

Каким образом можно связать новый объект данных (DTO), который нельзя изменить, с существующим DTO?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Если новый DTO неизменяемый (immutable), а нужно связать его с существующим DTO, обычно применяют паттерн преобразования или адаптации. Это можно сделать через конструктор или статический метод, который принимает существующий DTO и создает новый объект на его основе.

Пример на Java:

public final class NewDTO {
    private final String field1;
    private final int field2;

    public NewDTO(OldDTO oldDto) {
        this.field1 = oldDto.getField1();
        this.field2 = oldDto.getField2();
    }

    // геттеры без сеттеров
}

Таким образом, вы создаете новый объект, который содержит данные из старого DTO, при этом гарантируя неизменяемость нового объекта. Также можно использовать библиотеки маппинга, например MapStruct, для автоматизации преобразования между DTO.