J'ai regardé "Google Web Toolkit Architecture: Best Practices for Architecting Your GWT App" et je n'arrive pas à comprendre comment le côté serveur est censé fonctionner.Comment puis-je implémenter le modèle de commande en Java?
Slide 21: montre
/** The name Command is taken */
interface Action<T extends Response> { }
interface Response { }
interface ContactsService extends RemoteService {
<T extends Response> T execute(Action<T> action);
}
interface ContactsServiceAsync {
<T extends Response> void execute(Action<T> action,
AsyncCallback<T> callback);
}
Je pensais que cela voulait dire que je pourrais être en mesure de créer
public ResponseSubclass execute(ActionSubclass action) { ... }
et GWT choisirait cette méthode quand il correspond à mes paramètres exacts, mais il n'a pas . En ce moment je suis en utilisant:
if (action.getClass().getName() == ActionSubclass.class.getName())
{
return (T) execute((ActionSubclass)action);
}
mais cela signifie que je dois continuer à ajouter ifs à cette méthode chaque fois que j'ajouter une action et je dois utiliser des moulages non vérifiées. Y a-t-il une meilleure façon de faire ce travail?
note: d'après ce que j'ai lu ailleurs, le modèle de commande incluait généralement les actions à effectuer dans la sous-classe Ac, mais parce que cela passe un objet client pour le serveur, l'exécution du l'action doit être séparée.