Bonjour, Après avoir refactorés quelques interfaces et services, voici les modifications qui sont en cours sur les interfaces et comment elles exploitent les services. Version 0.5 ----------- En version 0.5, voici comment cela fonctionnait: - le contrôleur instançiait le modèle et la vue - le modèle était le seul a connaître les services - le modèle récupérait les données (parfois en plusieurs appel : pour les arbres par exemple) - lors d'une modification, le contrôleur appelait une méthode du modèle qui appelait le service et qui mettait ensuite à jour la vue. - lors d'une mise à jour du modèle, les données de cache était trop souvent "invalidées" et récupérée entièrement depuis le service :( On en avait quand même convenu que le fait que le modèle utilise le service était une bonne solution. Cependant, j'ai changer cette façon de faire :( Version 0.6 ----------- En version 0.6, voilà comment cela a été modifié: - le contrôleur récupère les données, de préférences en un unique appel au webservice - il instancie ensuite le modèle avec ces données qui lui serviront de cache, et la vue avec ce modèle - le controleur gere seul le service. Lors d'une modification le contrôleur appelle le service et si l'appel du WS s'est bien passé, il notifie le modèle (qui met à jour son cache) qui notifie ensuite la vue. Les données ne sont plus entièrement rechargée - les listeners de service sont maintenant les contrôleurs et non les modèles comme auparavant. -- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com