DTO - используется для типизации передаваемых данных между слоями и не должен содержать поведения. Этот паттерн позволяет реализовать принцип dependency inversion из SOLID. Некоторый слой указывает какие модели данных он ожидает для своей работы. Клиентский слой создаёт эту модель и передаёт во время вызова эту модель, эта модель и есть DTO. Клиентский код может понять какие АПИ сервисы есть в библиотеке и понять как переподготовить для него данные. Т.е. сам слой описывает сервисы и DTO и не пропускает просачивание моделей с соседнего слоя, по типу реквеста Часто в DTO добавляют геттеры сеттеры, если в C# это более менее родной подход, то для других языков программирования это увеличивает количество кода. DTO не должен содержать поведение, по этому добавлять в него геттер сеттер не имеет смысла если это усложняет разработку. GIST
---- Соц сети Телеграм, где можно узнать о новых видео и получать доп контент
P.S. В youtube я отвечаю быстрее чем в telegram, буду рад комментам в youtube ---- Чтобы поддержать канал 1) Можно поставить лайк (или дизлайк, если не понравилось видео) 2) Оставить комментарий более 5 слов 3) Досмотреть видео до конца (так удержание будет выше и мне это поможет в продвижении) 4) Оставить отзыв в комментариях, что можно улучшить в видео, чтобы не хотелось его закрывать #dto #grommax #шаблоны_проектирования Материально поддержать канал можно следующим способом 1) Перевод на карту
2) Пройти опрос, чтобы помочь выбрать подходящие варианты поддержки
Оглавление 00:00 - Введение 00:29 - UML DTO 01:51 - Как нельзя делать в контроллере 03:03 - Передача параметров в JS 04:52 - DTO JS 05:30 - Типизация DTO в JS 07:41 - DTO и TypeScript 08:54 - Классический DTO в JS 11:15 - DTO Factory в JS 13:09 - DTO в C# 14:51 - DTO в PHP 17:34 - Выводы