Я не могу найти разницу между ними, есть ли у кого-нибудь идея различать их?В чем разница между POJO (обычный старый объект Java) и DTO (объект передачи данных)?
Благодаря
Я не могу найти разницу между ними, есть ли у кого-нибудь идея различать их?В чем разница между POJO (обычный старый объект Java) и DTO (объект передачи данных)?
Благодаря
POJO = Plain Old Java Object
DTO = Data Object Transfer
- Редактировать
Ну, это если вы не знаете, что означают аббревиатуры. Pojo - это просто объект, свободный от какой-либо цепи наследования. В вашей модели данных существует DTO, поэтому, вероятно, следует строгая цепочка, связывающая ее с данным объектом.
A POJO - просто простой объект Java, акроним используется, чтобы подчеркнуть, что это действительно ничего особенного.
A DTO - это объект передачи данных, который используется для инкапсуляции данных, которые передаются по соединению между слоями или подсистемами. См. Статью в википедии, это также шаблон Core J2EE (http://www.oracle.com/technetwork/java/transferobject-139757.html).
DTO (объект передачи данных): Является ли шаблон дизайна Ядро J2EE, используемый для передачи данных в системе. DTO Pattern
POJO (Plain Old Java Object): Это просто аббревиатура люди используют для предполагая, что это простой Java объект (который в настоящее время в значительной степени аннотированный для выполнения какого-то смысла полных рабочего).
POJO или "Plain Old Java Object" это имя используется для описания "обычных" Java объекты, в отличие от EJBs (первоначально) или что-то считается "тяжелым" с зависимости от других технологий.
DTO или «Data Transfer Object» - это объект для ... ну ... переноса данных, как правило, между вашими «бизнес-классами» и уровнем сохранения. Обычно это класс, не имеющий поведения, который похож на структуру стиля C. Это устаревшая концепция.
Не обязательно устаревшая концепция - они являются шаблоном проектирования и до сих пор используются для решения общей проблемы, которую они затрагивают. Они просто не используются так часто, потому что они в основном используются для решения проблем с EJB, которые сейчас не используются так часто ... – Nate
Причина, по которой я говорю, что она устарела, заключается в том, что текущая тенденция состоит в том, чтобы полностью пройти OO " бизнес "или" домен "с поведением, а не рядом с бесполезными объектами, отличными от OO. Я подозреваю, что эта тенденция объясняется уточнениями философии OO и технологиями для сопоставления объектов другим представлениям (например, JPA, Hibernate, JAXB и т. Д.). – SingleShot
С JAXB, JPA и т. Д. Вы не сопоставляете свои объекты с этими репрезентациями как таковыми. Вы просто заканчиваете аннотирование объектов домена ... – Jon
POJO может иметь поведение. В книге POJO в Action подробно описывается использование POJOS для разработки приложений. DTO - это контейнеры данных, которые помогают передавать данные с одного уровня на другой. DTO не должны содержать никакого поведения.
Все DTO являются POJO, но не все POJO являются DTO. Примером POJO, который не является DTO, является бизнес-класс, который содержит состояние и поведение (бизнес-логика).
DTO является POJO, но POJO не DTO, потому что POJO может иметь больше поведения, но DTO только в основном не поведение
Oracle документа не имеет четкое описание.
Для начала используются разные буквы ...=) –