Avantages:
- Réduction du nombre d’appels distants.En transmettant plus de données dans un seul appel distant, l’application peut réduire le nombre d’appels distants.
- Amélioration des performances.Les appels distants ralentissent considérablement les applications.La réduction du nombre d’appels est l’un des meilleurs moyens d’améliorer les performances.Dans la plupart des situations, un appel distant transportant beaucoup de données prend pratiquement autant de temps qu’un appel qui en transporte peu.
- Transparence des mécanismes internes. Le fait d’émettre et de recevoir davantage de données dans un seul appel masque plus efficacement les mécanismes internes d’une application distante derrière une interface à granularité grossière. C’est le facteur qui a le plus motivé l’élaboration du modèle Remote Facade [Fowler03].
- Découverte d’objets métier. Dans certains cas, le fait de définir un DTO aide à découvrir des objets métier pertinents. Lorsque l’on crée des classes personnalisées servant de DTO, on remarque souvent des regroupements d’éléments qui sont présentés à un utilisateur ou à un autre système en tant qu’ensemble cohérent d’informations. En général, ces regroupements sont des prototypes très utiles pour les objets qui décrivent le domaine métier que doit gérer l’application.
- Aptitude au test. L’encapsulation de tous les paramètres dans un objet sérialisable peut favoriser l’aptitude au test. Par exemple, on peut lire les DTO à partir d’un fichier XML et appeler des fonctions distantes pour le tester. De même, il est facile de sérialiser de nouveau les résultats en format XML et de comparer le document XML au résultat souhaité sans avoir à créer de longs scripts de comparaison.