J'ai une application qui a une fenêtre similaire à celle ci-dessous.GUI Design Pattern, MVP, Tabulation
alt text http://a.imageshack.us/img137/7481/screenshotxh.jpg
L'exigence est que lorsque l'utilisateur clique sur le bouton tout Enregistrer doit être sauvé. Les boutons "Enregistrer" et "Réinitialiser" sont "communs" à tous les onglets. Par conséquent, lorsque l'onglet "Informations personnelles" est sélectionné et que "Enregistrer" est cliqué, le programme doit également enregistrer les modifications effectuées dans l'onglet "Amis" et les modifications apportées dans l'onglet "Historique de l'emploi".
L'application du code a déjà pour ce qui suit et je veux conserver ce code:
-PersonalInformationView, PersonalInformationPresenter, PersonalInformationModel
-FriendsView, FriendsPresenter, FriendsModel
-EmploymentHistoryView, EmploymentHistoryPresenter, EmploymentHistoryModel
Chaque présentateur a une méthode Save.
La question est ce qui serait un bon modèle de conception à utiliser en prenant en considération que je veux garder le code que j'ai déjà. Aussi, je veux que cette fenêtre ait aussi un modèle, une vue, un présentateur. Ou peut-être que je devrais reformuler ma question un peu: quelle est la meilleure façon d'inclure "sous-vues", "sous-présentateurs" lors de la programmation MVP?
Cordialement, MadSeb
Cela constitue une source d'inspiration. Cependant, j'ai le problème suivant avec ceci. La méthode "Save" de chaque présentateur effectue la validation des données avant l'enregistrement et en cas d'échec * view.DisplayValidationErrors() * est appelée et une msgbox est affichée ("Code postal est manquant." Etc) Si je choisis d'utiliser le code que vous avez suggéré l'utilisateur recevra un msg.box pour les erreurs de validation dans le premier onglet, un msg.box pour les erreurs de validation dans le deuxième onglet .. mais je veux toutes les erreurs de validation agrégées dans un seul msg.box. – MadSeb
J'ai mis à jour ma réponse (deuxième bloc de code) pour montrer comment je gère ce – Pondidum