Встречается на собеседованиях • сегодня

Как связать новый DTO с DTO, закрытым для модификации

Для связи нового DTO с неизменяемым DTO можно использовать композицию или фабричные методы. Пример:

java
// Исходный неизменяемый DTO
public final class ImmutableDto {
    private final String id;
    private final String name;

    public ImmutableDto(String id, String name) {
        this.id = id;
        this.name = name;
    }
text
// Геттеры

}

// Новый DTO с композицией
public class ExtendedDto {
private final ImmutableDto original;
private String additionalField;

text
public ExtendedDto(ImmutableDto original, String additionalField) {
    this.original = original;
    this.additionalField = additionalField;
}

// Делегирующие методы
public String getId() { return original.getId(); }
public String getName() { return original.getName(); }
// Геттер для additionalField

}

text

Альтернативно - создать фабричный метод в новом DTO, который принимает неизменяемый DTO и возвращает экземпляр нового DTO.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы