Quelle est la différence entre POJO (simple Old Java Object) et DTO (Data Transfer Object)?
je ne trouve pas de différence entre eux. Personne ne sait comment les différencier?
8 réponses
POJO ou " simple Old Java Object "est un nom utilisé pour décrire des objets Java" ordinaires", par opposition à EJBs (à l'origine) ou tout ce qui est considéré comme" lourd " avec des dépendances sur d'autres technologies.
DTO ou "Objet de Transfert de Données" est un objet... bien... transfert de données, généralement entre vos classes "affaires" et la couche de persistance. C'est typiquement une classe sans comportement un peu comme une structure de style C. Ils sont une notion obsolète.
A POJO est juste un objet Java simple, l'acronyme est utilisé pour souligner qu'il n'est vraiment rien de spécial.
A DTO est un objet de transfert de données qui est utilisé pour encapsuler des données qui sont transférées sur une connexion entre couches ou sous-systèmes. Voir l'article de wikipedia, c'est aussi un motif J2EE de base ( http://www.oracle.com/technetwork/java/transferobject-139757.html ).
tous les DTO sont des POJOs, mais tous les POJOs ne sont pas des Dto. Un exemple de POJO qui n'est pas un DTO est une classe d'affaires qui contient l'état et le comportement (business logic).
DTO (Data transfer object) est un modèle de conception de base J2EE utilisé pour le transfert de données à l'intérieur du système. DTO Modèle
POJO (simple Old Java Object) : c'est juste un acronyme que les gens utilisent pour suggérer qu'il s'agit d'un simple objet java (qui est aujourd'hui fortement annoté pour faire un travail plein de sens).
DTO pojo, mais pojo est pas dto, parce que pojo pouvez avoir plus de comportement, mais DTO a tout simplement pas de comportement
Oracle document a une description claire.
un POJO peut avoir un comportement. Le livre POJOs en 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 pas censés contenir de comportement.
je pourrais comprendre la différence entre POJO et DTO de cette phrase de wiki dto :
les DTO sont des objets simples qui ne devraient pas contenir de logique commerciale, mais qui peuvent contenir des mécanismes de sérialisation et de desérialisation pour le transfert de données par fil.
aussi, DTO est parfaitement visualisé et décrit en détail dans Catalogue de Martin Fowler de Modèles de Architecture D'Applications D'Entreprise
POJO = simple Old Java Object
DTO = Objet de Transfert de Données
-- Edit
Eh bien, cela suppose 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 la reliant à une entité donnée.