2009-09-15 6 views

Répondre

-2

POJO = Plain Old Java Object

DTO = transfert de données objet

- Edit

Eh bien, cela supposant que vous ne savez pas ce que les acronymes signifient. Un Pojo est juste un objet qui est libre de toute sorte de chaîne d'héritage. Un DTO existe dans votre modèle de données, donc suit probablement une chaîne stricte le reliant à une entité donnée.

10

Un POJO est juste un simple objet Java, l'acronyme est utilisé pour souligner qu'il n'a rien de spécial.

A DTO est un objet de transfert de données qui est utilisé pour encapsuler des données transférées sur une connexion entre des couches ou des sous-systèmes. Voir l'article wikipedia, c'est aussi un motif Core J2EE (http://www.oracle.com/technetwork/java/transferobject-139757.html).

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

+0

Je ne suis pas vraiment sûr d'où vient le terme POJO, je ne pense pas qu'il existait à l'époque de la DTO dans les jours sombres malodorants d'EJB 1.x – Jon

+1

Et cela explique certaines des origines POJO : http://en.wikipedia.org/wiki/Plain_Old_Java_Object – Jon

4

DTO (objet de transfert de données): Est-ce un modèle de conception J2EE de base utilisé pour transférer des données au sein du système. DTO Pattern


POJO (Plain Old Java Object): Il est juste un peuple acronyme pour utiliser ce qui suggère que est un simple objet java (qui est aujourd'hui fortement annotés pour faire un sens plein travail).

DTO Pattern
J2EE Pattern Catalog

12

POJO ou "Plain Old Java Object" est un nom utilisé pour décrire des objets Java "ordinaires", par opposition à EJBs (à l'origine) ou quoi que ce soit considéré comme "lourd" avec dépendances sur d'autres technologies. DTO ou "Data Transfer Object" est un objet pour ... bien ... transférer des données, généralement entre vos classes "business" et votre couche de persistance. Il s'agit généralement d'une classe sans comportement, à l'instar d'une structure de type C. Ils sont un concept dépassé.

+8

Pas nécessairement un concept obsolète - ils sont un modèle de conception, et sont encore utilisés pour résoudre le problème général qu'ils abordent. Ils ne sont pas utilisés aussi souvent maintenant parce qu'ils étaient principalement utilisés pour résoudre les problèmes d'EJB - qui ne sont plus aussi souvent utilisés maintenant ... – Nate

+2

La raison pour laquelle je dis que c'est dépassé est parce que la tendance actuelle est de passer complètement OO " des objets métier ou "domaine" avec comportement, plutôt que des objets non-OO inutiles. Je soupçonne que cette tendance est due à des améliorations dans la philosophie OO et à des technologies pour mapper des objets à d'autres représentations (telles que JPA, Hibernate, JAXB, etc.). – SingleShot

+0

Avec JAXB, JPA etc. vous ne mappez pas vos objets à ces représentations en tant que telles. Vous finissez par annoter les objets de votre domaine ... – Jon

3

Un POJO peut avoir un comportement. Le livre POJOs in Action détaille l'utilisation de POJOS pour le développement d'applications. Les DTO sont des conteneurs de données qui aident à transférer des données d'une couche à une autre. Les DTO ne sont supposés contenir aucun comportement.

6

Tous les DTO sont des POJO, mais tous les POJO ne sont pas des DTO. Un exemple de POJO qui n'est pas un DTO est une classe d'entreprise qui contient l'état et le comportement (logique métier).

3

DTO est POJO, mais POJO n'est pas DTO, parce que POJO peut avoir un comportement plus mais DTO juste fondamentalement aucun comportement

documents Oracle description claire.

Questions connexes