2010-09-30 19 views
1

Je suis en train de développer le framework pour ce qui sera une grande application Silverlight pilotée par données utilisant Prism. Je crée plusieurs modules pour différentes parties de l'application, mais tous les modules doivent accéder aux données du même service Web REST. Mon plan initial était donc de créer un module séparé pour la récupération des données et d'utiliser EventAggregator pour ensuite transmettre les résultats aux autres modules qui s'abonnent à l'événement result. Le module de données n'aura pas de ViewModel puisqu'il n'y a pas de Vue. Donc, quelques questions: 1. Est-ce que la façon dont j'ai décrit un bon moyen de le faire - un module nourrit les autres? 2. Où puis-je publier des événements dans le module de données s'il n'y a pas de ViewModel?Grande application Prism/Silverlight - plusieurs modules discutant avec un service de données unique

Tous les conseils ou astuces sont très appréciés.

Répondre

1

Vous pouvez publier des événements dans n'importe quel composant, en obtenant simplement l'EA injectée. Dans ce cas, vous publieriez probablement l'événement une fois la récupération des données terminée.

Cependant, cela pourrait ne pas être la meilleure approche. Celui que je prendrais est en train de créer une interface pour le WebService et de l'enregistrer dans le conteneur. Les modules Differnt peuvent obtenir l'implémentation du service à partir du conteneur et demander les données eux-mêmes sans dépendre d'une "notification d'alimentation".

Il y a beaucoup de sujets discutant cela dans le Prism forums at Codeplex.