DTO должны быть как можно более легкими, отличными от бизнес-объектов и ограниченными по объему (например, package объекты уровня).
Я говорю, что они должны быть отделены от бизнесаобъекты, в отличие от заявления Божо «если они вообще отличаются от объектов домена», поскольку DTO часто будут нуждаться в установщиках, которые пользователи бизнес-объекта не должны использовать.
У меня есть, например, объект Person иPersonDTO ... DTO нужен установщик для имени человека (имя, фамилия и т. д.), но оно извлекается из внешнего источника данных, и моему приложению не разрешено изменять его, поэтому мой бизнес-объект "Person" не должену меня нет сеттера.