example entre diferencia bean java terminology pojo dto

entre - dto java example



¿Cuál es la diferencia entre POJO(Plain Old Java Object) y DTO(Data Transfer Object)? (8)

No puedo encontrar diferencia entre ellos. ¿Alguien sabe como diferenciarlos?


DTO es pojo, pero pojo no es dto, porque pojo puede tener más comportamiento, pero DTO simplemente no tiene ningún comportamiento

El documento de Oracle tiene una descripción clara.


POJO = Plain Old Java Object

DTO = Objeto de transferencia de datos

- editar

Bueno, esto es asumiendo que no sabes lo que significan los acrónimos. Un Pojo es solo un objeto que está libre de cualquier tipo de cadena de herencia. Existe un DTO en su modelo de datos, por lo que probablemente sigue una cadena estricta que lo relaciona con una entidad dada.


POJO o "Plain Old Java Object" es un nombre que se usa para describir objetos "ordinarios" de Java, a diferencia de los EJB (originalmente) o cualquier cosa que se considere "pesada" con dependencias de otras tecnologías.

DTO o "Objeto de transferencia de datos" es un objeto para ... bueno ... transferir datos, generalmente entre las clases de "negocios" y la capa de persistencia. Por lo general, es una clase sin comportamiento muy similar a una estructura de estilo C. Son un concepto desactualizado.


Pude entender la diferencia entre POJO y DTO de esta oración de la wiki de DTO :

Los DTO son objetos simples que no deben contener ninguna lógica empresarial, pero pueden contener mecanismos de serialización y deserialización para transferir datos a través del cable.

Además, DTO se visualiza y describe perfectamente en detalle en el Catálogo de patrones de arquitectura de aplicaciones empresariales de Martin Fowler.


Todos los DTO son POJO, pero no todos los DTO son DTO. Un ejemplo de POJO que no es un DTO es una clase de negocios que contiene estado y comportamiento (lógica de negocios).



Un POJO puede tener comportamiento. El libro POJOs in Action detalla el uso de POJOS para el desarrollo de aplicaciones. Los DTO son contenedores de datos que ayudan a transferir datos de una capa a otra. Se supone que los DTO no contienen ningún comportamiento.


DTO (objeto de transferencia de datos) : es un patrón de diseño Core J2EE utilizado para transferir datos dentro del sistema. Patrón DTO


POJO (Plain Old Java Object) : es solo un acrónimo que la gente usa para sugerir que es un simple objeto java (que en la actualidad está muy anotado por hacer un trabajo completo con significado).

Patrón DTO
Catálogo de patrones J2EE