2009-09-15 30 views

risposta

-2

POJO = Plain Old Java Object

DTO = Data Transfer Object

- Modifica

Bene, questo è supponendo che non sai cosa significano gli acronimi. Un Pojo è solo un oggetto libero da qualsiasi tipo di catena ereditaria. Esiste un DTO nel modello di dati, quindi probabilmente segue una catena rigorosa che la collega ad una determinata entità.

10

A POJO è solo un semplice oggetto Java, l'acronimo viene utilizzato per sottolineare che non è davvero niente di speciale.

A DTO è un oggetto di trasferimento dati che viene utilizzato per incapsulare dati trasferiti su una connessione tra livelli o sottosistemi. Vedi l'articolo su Wikipedia, è anche un modello Core J2EE (http://www.oracle.com/technetwork/java/transferobject-139757.html).

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

+0

In realtà non sono sicuro di dove sia venuto il termine POJO, non penso che sia esistito intorno al tempo del DTO nei giorni maleodoranti di EJB 1.x – Jon

+1

E questo spiega alcune delle origini POJO : http://en.wikipedia.org/wiki/Plain_Old_Java_Object – Jon

4

DTO (oggetto di trasferimento dati): è un disegno modello core J2EE utilizzato per il trasferimento dei dati all'interno del sistema. DTO Pattern


POJO (Plain Old Java Object): E 'solo un acronimo gente usa per aver suggerito che è un oggetto Java semplice (che oggi è fortemente annotato per fare un po' di senso di lavoro pieno).

DTO Pattern
J2EE Pattern Catalog

12

POJO o "Plain Old Java Object" è un nome usato per descrivere "ordinari" oggetti Java, al contrario di EJB (in origine) o qualcosa considerato "pesante" con dipendenze da altre tecnologie.

DTO o "Data Transfer Object" è un oggetto per ... beh ... il trasferimento di dati, di solito tra le classi "business" e il livello di persistenza. Tipicamente è una classe senza comportamento molto simile a una struttura in stile C. Sono un concetto obsoleto.

+8

Non necessariamente un concetto obsoleto: sono un modello di progettazione e sono ancora utilizzati per risolvere il problema generale che affrontano. Non vengono utilizzati più spesso ora perché sono stati principalmente utilizzati per risolvere problemi con EJB, che non vengono utilizzati spesso ora ... – Nate

+2

La ragione per cui dico che è obsoleto è perché la tendenza attuale è passare completamente OO " business "o" dominio "oggetti con comportamento, piuttosto che oggetti inutili non OO. Sospetto che questa tendenza sia dovuta ai perfezionamenti della filosofia OO e alle tecnologie per la mappatura di oggetti ad altre rappresentazioni (come JPA, Hibernate, JAXB, ecc.). – SingleShot

+0

Con JAXB, JPA ecc. Non mappare gli oggetti a tali rappresentazioni come tali. Hai appena finito di annotare gli oggetti del dominio ... – Jon

3

Un POJO può avere un comportamento. Il libro POJO in Action dettagli utilizza POJOS per lo sviluppo di applicazioni. I DTO sono contenitori di dati che aiutano a trasferire i dati da un livello all'altro. I DTO non dovrebbero contenere alcun comportamento.

6

Tutte le DTO sono POJO, ma non tutti i POJO sono DTO. Un esempio di POJO che non è un DTO è una classe business che contiene stato e comportamento (business logic).

3

DTO è POJO, ma POJO non è dto, perché POJO può avere un comportamento più ma DTO appena fondamentalmente nessun comportamento

documento Oracle ha descrizione chiara.

Problemi correlati