2009-09-15 2 views

ответ

-2

POJO = Plain Old Java Object

DTO = Data Object Transfer

- Редактировать

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

10

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

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

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

+0

Я не уверен, откуда взялся термин POJO, я не думаю, что он существовал примерно во время DTO в темных злых вонючих днях EJB 1.x – Jon

+1

И это объясняет некоторые из причин POJO : http://en.wikipedia.org/wiki/Plain_Old_Java_Object – Jon

4

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


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

DTO Pattern
J2EE Pattern Catalog

12

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

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

+8

Не обязательно устаревшая концепция - они являются шаблоном проектирования и до сих пор используются для решения общей проблемы, которую они затрагивают. Они просто не используются так часто, потому что они в основном используются для решения проблем с EJB, которые сейчас не используются так часто ... – Nate

+2

Причина, по которой я говорю, что она устарела, заключается в том, что текущая тенденция состоит в том, чтобы полностью пройти OO " бизнес "или" домен "с поведением, а не рядом с бесполезными объектами, отличными от OO. Я подозреваю, что эта тенденция объясняется уточнениями философии OO и технологиями для сопоставления объектов другим представлениям (например, JPA, Hibernate, JAXB и т. Д.). – SingleShot

+0

С JAXB, JPA и т. Д. Вы не сопоставляете свои объекты с этими репрезентациями как таковыми. Вы просто заканчиваете аннотирование объектов домена ... – Jon

3

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

6

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

3

DTO является POJO, но POJO не DTO, потому что POJO может иметь больше поведения, но DTO только в основном не поведение

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