Bonjour,
Je m'intéresse actuellement au patron de conception MVP (Model-View-Presenter) pour rendre indépendant la vue du modèle.
J'ai cherché donc à le mettre en place dans mon application, ce qui m'a amené à la réflexion suivante :
Le but du MVP et de séparer la vue du modèle.
Le Presenter, qui a connaissance du modèle (soit directement, soit par exposition de méthodes par une interface), peut l'utiliser pour ainsi mettre à jour la vue (exposition d'une interface pour la vue également).
Ainsi, si on veut changer de vue, on a rien à changer dans le Presenter à condition que celle-ci respecte bien l'interface qui lui est exposée..
Maintenant, j'ai mis en place ce concept pour mes controls mais quelle visibilité j'ai de ces derniers de ma fenêtre principale ?
En passant par le designer, on observe que les controls sont déclarés en membres privés, ce que je faisais jusqu'à présent même pour les controls que le designer ne gèrent pas.
Mais pourquoi ne pas garder plutôt en membres privés les interfaces desquelles les controls héritent ? Cela permet, en cas de changement de control, de ne pas avoir à venir changer tous les appels de méthodes du control dans le Presenter de la MainWindow par exemple..
Le control serait donc juste instancié dans le Presenter d'où on conserverait son interface..
Qu'en pensez-vous ?
Merci!
Partager