2010-06-12 6 views
1

Je vois qu'il ya deux façons de transférer des objets du serveur au clientGWT: type de conteneur

  1. Utilisez le même objet de domaine (Contact.java) utilisé dans la couche de service. (Je n'utilise pas hibernate)

  2. Utilisez la HashMap pour envoyer les valeurs de champ d'objet de domaine sous la forme de Carte à l'aide de la classe BeanUtilsBean. Pour plusieurs objets, utilisez la liste>. Similairement, utilisez la carte pour présenter des valeurs de formulaire du client au serveur

est-il un avantage de performance pour l'option 1 sur 2 ?.

Existe-t-il un moyen de masquer le nom de classe/nom de package qui est envoyé au navigateur si nous utilisons l'option 1? .

merci !.

Répondre

1

Vous devez comprendre que quelle que soit l'option que vous choisissez, elle devra être convertie en JavaScript (+ certains wrappers, etc.) - ce matériel prend plus de temps et d'espace/bande passante (note: je n'ai fait aucun benchmark , c'est juste une conclusion [raisonnable] que je suis venu avec;)) que, disons, JSON. Mais si vous avez utilisé JSON, vous devez recréer l'objet côté serveur, ce n'est pas une solution miracle. En fin de compte, tout dépend de la performance qui vous pose problème - pour plus d'informations, voir this question.

J'irais avec l'option 1: laisse juste à l'équipe de GWT pour emballer vos objets de domaine et les transférer entre le client et le serveur. Dans l'avenir (GWT 2.1), nous aurons de très belles choses, y compris un protocole de transfert plus léger - voir la présentation de cette année de Google I/O sur architecting GWT apps - c'est quelque chose à garder à l'esprit. PS: Il est toujours bon de faire soi-même des repères dans ce genre de situations - votre configuration, le type d'objets, etc. peuvent donner des résultats différents de ceux attendus.

+0

D'accord avec la réponse de @ Igor car c'est un travail moins. Mais j'ai utilisé le DTO personnalisé qui présente quelques avantages dans la portée de notre projet. – moorsu

Questions connexes