2011-12-13 6 views
0

Dans l'application GWT où l'on a plusieurs présentateurs rendu vues sur la base des actions utilisateur/événements, j'ai certaines questions wrt MVPGWT Histoire MVP vs événements

1) Quelle est la meilleure façon de transmettre des données entre plusieurs présentateurs. Par exemple, un présentateur doit passer une chaîne ou tout autre objet à un autre présentateur. Bien sûr, la méthode doit être telle que les présentateurs soient toujours découplés

2) Pour naviguer autour de plusieurs présentateurs/vues, faut-il utiliser Événements ou Historique ou Les deux? Y at-il un inconvénient spécifique à utiliser uniquement des jetons d'historique et à ne pas avoir d'événements?

Répondre

3

La transmission d'informations complexes entre presenters se fait mieux via events. Cependant, je ne voudrais pas complètement négliger History. Si vous souhaitez prendre en charge signets et permettre à l'utilisateur de charger/revenir à un état/affichage d'une application spécifique, vous devez utiliser l'historique.

Vous pouvez utiliser une approche hybride entre Activité/Lieux et Événements personnalisés.

  • Parse le jeton d'histoire (activité/Lieux)
  • Charge l'état d'application/information basée sur le jeton histoire
  • Utiliser des événements pour mettre à jour les différents présentateurs/vues
1

MVC n'est pas vraiment simple à utiliser avec GWT. La meilleure pratique pour GWT est le modèle MVP. Il y a une très bonne présentation de Google I/O 2009 au google-code. Il y a vraiment un good tutorial for MVP avec GWT.

La différence entre MVP et MVC est expliquée très en détail here at stackoverflow.com.

Désolé de ne pas répondre à votre question directement - mais je pense que votre problème vient en utilisant un motif de conception unfitting. À mon humble avis avec le modèle MVP, la question sera résolue.

+0

Oops..I destiné à taper MVP, mais une lentille de fond m'a fait écrire MVC. J'utilise donc exactement le même motif que celui suggéré dans votre article et ça marche très bien. La seule difficulté que j'ai est de passer des données entre les présentateurs, et seulement cette partie est maladroite. Repose-toi, je suis assez propre! –

+0

Après avoir revu l'article aujourd'hui, j'ai l'impression d'avoir fait un mauvais choix lorsque j'ai misé sur l'Histoire plutôt que sur les événements. Les événements portent très bien les données, je n'ai probablement pas réalisé leur utilité au début, mais maintenant je peux le voir! –

+1

La meilleure pratique consiste à passer des objets au lieu de chaînes. Les événements portent généralement n'importe quel objet. Si vous utilisez uniquement l'historique, vous devez tout passer en chaîne. À mon humble avis ceci est un très "cher" (signifie: beaucoup de travail) et une façon instable de gérer votre communication interne. – Erik