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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

Если новый 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.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее