2009-12-15 5 views
0

J'ai trois vues, dont chacune est implémentée dans un contrôle utilisateur. Tout cela fonctionne bien quand ils sont seuls. Lorsqu'un élément est sélectionné dans la vue, j'ai besoin d'aviser les deux autres vues que l'élément qu'ils regardent a changé.Présentateur MVP et événements

J'ai examiné différentes façons de gérer cela, mais celle qui revient constamment comme la meilleure approche pour moi est d'utiliser des événements. Je me demandais si quelqu'un avait des exemples de comment faire cela en termes d'un modèle EventAggrergator/Application Controller?

James :-)

+0

Avez-vous essayé Google? – Lazarus

+0

J'en avais essayé pas mal mais il y a tellement d'approches différentes ... – m0gb0y74

Répondre

2

Cela sonne comme un bon candidat pour l'application de la observer pattern.

+0

Je l'avais regardé mais il me semblait qu'il y avait beaucoup de travail à faire et tout ce que je regardais indiquait un EventAggregator. – m0gb0y74

+0

EventAggregator sera utilisé comme observateur dans ce cas. Ce n'est pas un bon choix et quand il s'agit de maintenir l'application pas aussi claire. Le travail supplémentaire que vous faites maintenant en mettant en place un observateur explicite vous permettra d'économiser du temps et de l'argent à long terme. La configuration explicite de l'observateur éclaircira votre intention. –

+0

Vous configurez fondamentalement chacune de vos vues comme observables. Toutes les vues s'abonnent aux changements de tout le reste. Vous n'avez vraiment qu'à définir 2 interfaces, IObservable et IObserver et avoir chaque vue implémentant les deux. – JohnIdol

Questions connexes