Bonjour à tous,
Cela fait 2 jours que je cherche une façon "optimale" de découpler le code d'un projet que j'ai fait en version sauvage pour une démonstration de l'IHM. Toute la logique se trouve actuellement dans mes Winforms (C'était pour faire vite)
La démonstration faite, on me dit que cela leur plait.
Maintenant je me casse donc la tête pour bien tout découpler, puisqu'il se pourrait que dans le futur, l'IHM ne soit plus en Winform mais en version web.
Idem pour la partie modèle qui pourrait provenir d'une autre source (BDD, fichiers, XML,...)
C'est pourquoi je voudrais un découplage optimal.
Actuellement mon modèle est OK. Il se trouve dans un autre projet visual studio (bibliothèque de classes). Il doit rester à part car ce modèle pourrait être utiliser dans d'autres applications.
Depuis ces 2 derniers jours, je n'avance plus. Je ne trouve pas de solution "miracle". Je parcours le web en long et en large mais rien de concluant.
Je me suis tourné vers MVC, mais j'ai du mal à implémenter le fait que certaines forms soient des MdiChilds.
Puisque je veux des MDIChilds chaque form aura son controleur. Or pour créer un controleur il faut lui définir sa vue. Et la le découplage est rompu puisque dans mon MainController je fais:
J'ai aussi essayé avec MVP, mais je ne suis pas sur d'y avoir tout compris.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 IChildController childController = new ChildController(data,new MyChildForm());
Donc comment gérez-vous votre découplage pour que vos applications soient facilement modulables? quel pattern utiliseriez-vous? Si vous aviez un exemple efficace à me proposer, je suis preneur.
Ensuite sur les childForm, j'affiche des fenêtres modales. Imaginez mon modèle comme un tableau. Sur double clic, j'ouvre une fenêtre modale permettant de définir les données de la case. Lorsque je valide la fenetre modale, cela modifie la case cliquée.
Mettriez-vous aussi ces fenêtres modales sous MVC avec M=la case cliquée? ou la traitez-vous comme si vous utilisiez une PrintDialog avec using et DialogResult?
Merci de votre aide
Partager