@vrazbros

Зачем нужен data transfer object и/или builder при работе с реквестом?

Привет

В проекте переиодически натыкаюсь на использование билдеров и DTO для меня это выглядит очень странно потомучто вся валидация происходит в FormRequest, потом как установка данных которые пришли из реквеста в DTO а из DTO мы добавляем данные в модель и потом сохраняем те DTO(некоторый data transfer object) какойто странный промежуточный шаг. С билдерами примерно тоже самое, если я правильно понял.

Зачем тогда вообще нужны билдеры и ДТО, это не нужный лишний шаг для меня если можно напрямую данные из реквеста сохранить в модель тк они уже прошли проверку в FormRequest ?
  • Вопрос задан
  • 522 просмотра
Пригласить эксперта
Ответы на вопрос 1
JhaoDa
@JhaoDa
LaravelRUS Team
это не нужный лишний шаг для меня если можно напрямую
Если для тебя это не нужный шаг, то не используй, в чём проблема-то?

В реальности же иногда возникает ситуация, когда создание объекта возможно как через web-интерфейс, так и, например, через консоль. Логично выделить создание объекта в некий сервис, который как раз и должен принимать DTO, ибо какой реквест в консоли?

Кроме того, применение DTO не ограничивается заменой реквестов, это способ передачи данных между слоями приложения в слоёной архитектуре, ибо зачем передавать сущности/фреймворкозависимые вещи в слой, которому о них знать не надо?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы