J'essaie de bien comprendre comment implémenter un bon découplage entre une interface utilisateur et le modèle, mais je ne parviens pas à déterminer exactement où diviser les lignes.
J'ai examiné Model-View-Presenter, mais je ne sais pas exactement comment procéder pour le mettre en œuvre. Par exemple, ma vue comporte plusieurs boîtes de dialogue.
- Devrait-il y avoir une classe View avec des instances de chacun des dialogues? Dans ce cas, comment les dialogues devraient-ils interagir avec le présentateur? c'est à dire. Si un dialogue individuel doit demander des données au modèle via le présentateur, comment le dialogue doit-il obtenir une référence au présentateur? Via une référence à la vue donnée lors de la construction?
- Je pensais que peut-être la vue devrait être une classe statique? Ensuite, les dialogues GetView et obtenir le présentateur à partir de là ...
- J'avais pensé à configurer le présentateur avec la propriété de la vue et du modèle (par opposition à la vue ayant le présentateur et le présentateur ayant le modèle) et le présentateur enregistrant des rappels pour les événements dans la vue, mais cela semble beaucoup plus couplé (ou langue dépendante, au moins.)
J'essaye de:
- faire ceci aussi découplé que possible
- idéalement, il est possible de coupler le présentateur / modèle avec des vues d'autres langues (je n'ai pas fait beaucoup de choses inter-langues, mais je sais que c'est possible, en particulier si
void(void)
je peux en tenir plus, au moins une application C # avec un Bibliothèque C ++ ... - garder le code propre et simple
Alors .. des suggestions sur la façon dont les interactions devraient être gérées?