Назначение

Шаблон Data Transfer Object (Объект переноса данных) предназначен для передачи состояния объектов между слоями приложения (включая распределенные приложения).

Решение

Мотивом к появлению шаблона Объект переноса данных является тот факт, что каждый любой удаленный вызов связан с большими затратами. Исходя из этого, для достижения приемлемой производительности клиенту необходимо минимизировать число удаленных вызовов, а значит, каждый вызов должен возвращать как можно больше информации. Объект переноса данных решает эту проблему – этот объект содержит  в себе все данные, возвращаемые клиенту за один вызов. Разумеется, чтобы такой объект мог быть передан по сети, он должен поддерживать возможность сериализации. В качестве формата сериализации могут применяться как текстовые форматы, такие как XML или JSON, так и обычные бинарные данные.

 

Шаблон Data Transfer Object

Результаты

Применение шаблона Объект переноса данных позволяет  в значительной степени сэкономить на накладных расходах, возникающих при обеспечении удаленного вызова. При этом важно понимать, что в большинстве случаев объекты переноса данных представляют собой не более чем набор полей и набор get-и set-методов. Ценность этого решения состоит исключительно в возможности передавать по сети несколько элементов информации за один вызов — прием, который имеет большое значение для распределенных систем.