Sobes.tech
Junior — Middle

Как може да се свърже нов обект от данни (DTO), който не може да бъде променян, с съществуващ DTO?

sobes.tech AI

Отговор от 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.