Sobes.tech
Junior — Middle
79

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

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

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.