Объект передачи данных
В области программирования объекта передачи данных ( DTO [ 1 ] [ 2 ] ) — объект, который передает данные между процессами. Мотивацией его использования является то, что связь между процессами обычно осуществляется с использованием удаленных интерфейсов (например, веб-сервисов), где каждый вызов представляет собой дорогостоящую операцию. [ 2 ] Поскольку большая часть стоимости каждого вызова связана со временем прохождения туда и обратно между клиентом и сервером, одним из способов сокращения количества вызовов является использование объекта (DTO), который агрегирует данные, которые могли бы быть переданы. несколькими вызовами, но обслуживается только одним вызовом. [ 2 ]
Разница между объектами передачи данных и бизнес-объектами или объектами доступа к данным заключается в том, что DTO не имеет никакого поведения, кроме хранения, извлечения, сериализации и десериализации собственных данных ( мутаторы , средства доступа , сериализаторы и парсеры ). Другими словами, DTO — это простые объекты, которые не должны содержать никакой бизнес-логики, но могут содержать механизмы сериализации и десериализации для передачи данных по сети. [ 1 ]
Этот шаблон часто неправильно используется за пределами удаленных интерфейсов. Это вызвало реакцию автора [ 3 ] где он повторяет, что вся цель DTO — перемещать данные при дорогостоящих удаленных вызовах.
Терминология
[ редактировать ]Объект значения не является DTO. В прошлом эти два термина смешивались сообществом Sun/Java. [ 2 ]
Для шаблона модель-представление-модель представления объект передачи данных может называться моделью представления. [ 4 ]
Ссылки
[ редактировать ]- ^ Jump up to: а б MSDN (2010). Объект передачи данных. Microsoft MSDN Библиотека . Получено с https://msdn.microsoft.com/en-us/library/ms978717.aspx .
- ^ Jump up to: а б с д Фаулер, Мартин (2010). Объект передачи данных. Шаблоны архитектуры корпоративных приложений. Получено с http://martinfowler.com/eaaCatalog/dataTransferObject.html .
- ^ ЛокальныйDTO. Получено с http://martinfowler.com/bliki/LocalDTO.html .
- ^ Microsoft Learn (3 января 2024 г.). «Руководство. Создание веб-API с помощью ASP.NET Core» .
Внешние ссылки
[ редактировать ]- Краткое содержание из книги Фаулера
- Объект передачи данных — библиотека Microsoft MSDN
- GeDA — универсальный ассемблер dto — это Java-фреймворк с открытым исходным кодом для решений корпоративного уровня.
- Местный DTO