В чем разница между POJO (простой старый объект Java) и DTO (объект передачи данных)?

Я не могу найти разницу между ними, есть ли у кого-то идея отличить их?

Спасибо

Ответ 1

POJO или "Обычный старый объект Java" - это имя, используемое для описания "обычных" объектов Java, в отличие от EJB (изначально) или любого, что считается "тяжелым" с зависимостями от других технологий.

DTO или "Объект передачи данных" - это объект для... ну... переноса данных, обычно между вашими "бизнес-классами" и уровнем сохранения. Обычно это класс, не имеющий поведения, который похож на структуру стиля C. Они являются устаревшей концепцией.

Ответ 2

A POJO - просто простой объект Java, акроним используется, чтобы подчеркнуть, что это действительно ничего особенного.

A DTO - это объект передачи данных, который используется для инкапсуляции данных, которые передаются по соединению между слоями или подсистемами. См. Статью wikipedia, это также шаблон Core J2EE (http://www.oracle.com/technetwork/java/transferobject-139757.html).

http://en.wikipedia.org/wiki/Data_transfer_object

Ответ 3

Все DTO являются POJO, но не все POJO являются DTO. Примером POJO, который не является DTO, является бизнес-класс, который содержит состояние и поведение (бизнес-логика).

Ответ 4

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


POJO (обычный старый объект Java). Это просто аббревиатура, используемая для обозначения того, что это простой объект Java (который в настоящее время сильно аннотирован для выполнения определенного значения полной работы).

шаблон DTO
Каталог шаблонов J2EE

Ответ 5

POJO может иметь поведение. В книге POJO в Action подробно описывается использование POJOS для разработки приложений. DTO - это контейнеры данных, которые помогают передавать данные с одного уровня на другой. DTO не должны содержать никакого поведения.

Ответ 6

DTO - pojo, но pojo не является dto, потому что pojo может иметь больше поведения, но DTO просто не имеет никакого поведения

В документе Oracle есть четкое описание.

Ответ 7

POJO = Обычный объект Java

DTO = объект передачи данных

- Изменить

Ну, это предполагает, что вы не знаете, что означают аббревиатуры. Pojo - это просто объект, свободный от какой-либо цепи наследования. В вашей модели данных существует DTO, поэтому, вероятно, следует строгая цепочка, связывающая ее с данным объектом.