Le modèle de conception DTO

Suite à un projet récent, je me suis intéressé au modèle de conception (design pattern) DTO (Data Transfert object) ou parfois connu sous le nom de Value object. Je n’ai pas trouvé de transposition de ce terme en français, appelons objet de transfert.

Ce modèle de conception est exposé sur le site de Martin Fowler. Il est à l’origine de ce pattern. En fait il s’agit d’exposer au niveau de la couche de présentation des objets simples qualifié dans le jargon java de POJO (Plain old java object) ce qui signifie objet simple. En effet souvent au niveau de la couche métier, les objets sont complètement noyé par des contraintes techniques. Prenons l’exemple des EJB2, les objets métiers deviennent 4 objets qui doivent implémenter certaines interfaces (bref c’est l’horreur). Sur le site de Sun blueprints, on peut trouver une explication complète. Dans la pratique ce pattern est assez lourd, rend le modèle objet complexe et augmente le travail du développeur. Mais au final, la couche présentation peut être propre.

Cependant, le monde des frameworks Java semble maintenant aller vers des conceptions non intrusives. C’est à dire qu’un objet métier reste un seul objet simple non pollué par des contraintes techniques (exemple EJB3 ou Spring). Donc dans ce cas, il est possible d’exposer au niveau de la présentation ces objets et le pattern DTO est inutile.

Martin Flower répond aux critiques concernant ce pattern, sa loudeur. Ce modèle n’est pas mauvais en soi, il simplement parfois utile et dans d’autres cas inutiles. Un exemple d’utilisation est lorsque le modèle objet et le modèle au niveau de la présentation sont différents.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s


%d blogueurs aiment cette page :