Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Когда использовать DTO?


Автор: Dwyane 15.7.2008, 19:51
Люди, подскажите в каких случаях необходимо создавать отдельный dto уровень? Почему нельзя обходиться доменными объектами? Всем заранее большое спасибо!

Автор: Gamarjoba 27.11.2009, 15:50
потому что таблицы на которые мапятся доменные объекты могут не соответствовать тем полям форм хтмл-страниц. а для разных веб-приложений они могут быть разными. вот и выбираетсяобщая модель для всех, свободная от структуры БД. 
+ возможно снижение нагрузки на сеть за счет того, что dto-менее тяжелые объекты, чем entity - бины.
если я не прав, поправьте меня.)

Автор: powerOn 27.11.2009, 16:36
Цитата(Gamarjoba @  27.11.2009,  15:50 Найти цитируемый пост)
потому что таблицы на которые мапятся доменные объекты могут не соответствовать тем полям форм хтмл-страниц. а для разных веб-приложений они могут быть разными. вот и выбираетсяобщая модель для всех, свободная от структуры БД. 


Это думаю называется "приведение сущности к нужному интерфейсу".

Цитата(Gamarjoba @  27.11.2009,  15:50 Найти цитируемый пост)
возможно снижение нагрузки на сеть за счет того, что dto-менее тяжелые объекты, чем entity - бины.


Если сущность используется для генерации HTML кода (в качестве модели), то создание DTO - не нужная работа, лучше использовать  сущности на прямую. Думаю, единственное за чем придется следить, это за lazy-loaded коллекциями, которые во время HTML рендеринга могут стать недоступными про причине закрытия сессии работы с БД. В последнем случае Open Session in View паттерн должен помочь.

Автор: Maksym 27.11.2009, 17:16
http://java.dzone.com/articles/transfer-obejcts-vs-business

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)