2

Я был частью одного из проектов, в которых мы производили Java-сервисы и публикации на сервере. Некоторое другое приложение Java использовало веб-службу через extjs.Объект Value vs Data Transfer Object

В том случае, когда приложение-производитель применялось к доменному дизайну. Мы использовали два типа pojos, объекты домена и объекты DTO. Оба класса имели одинаковые переменные свойств. И класс DTO реализует класс Serializable.

Сначала мы создавали объекты domians из вызова db, а затем преобразовывали объекты доменов в dtos и публиковали в websevice.

Теперь, что я хочу знать, это хорошая практика для этих двух типов объектов? Почему dtos применяли serialzable (одной причиной могло быть поддержание состояния объектов, в то время как веб-сервис вызывал через сеть --- эта причина я нашел в сети, но не ясен мне)?

Любая ссылка на это или объяснение специалиста приветствуется.

Спасибо заранее.

ответ

2

Объекты изготовлены Serializable чтобы быть в состоянии передать. Он позволяет преобразовать Object в байты, а затем байты в Object.

Обратите внимание, что обычно DTO становятся более легкими (начиная с поездки к клиенту), чем ваши объекты домена, которые обычно имеют множество атрибутов, предназначенных только для обработки бизнеса.

Так в основном в проекте многослойным вы можете иметь, например:

  • доменных объектов, отображенных в базе данных
  • бизнес-уровень, который будет обрабатывать бизнес-правил
  • Преобразование из домена объектов в DTOS
  • DTOS передаются клиенту

Некоторые чтение:

http://www.oracle.com/technetwork/java/transferobject-139757.html

https://softwareengineering.stackexchange.com/questions/171457/what-is-the-point-of-using-dto-data-transfer-objects

Difference between DTO, VO, POJO, JavaBeans?