|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Étudiant Inscription : décembre 2007 Messages : 296 ![]() |
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: Code :
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
__________________
Venez affronter mes brutes http://touftouf57.labrute.com - http://mori-turi.labrute.fr Mon blog CV : http://c-elsensohn.site50.net/ |
||
|
00
|
|
|
#2 |
|
Membre confirmé
![]() François DORINChef de Projet Inscription : décembre 2012 Messages : 104 ![]() |
Bonsoir,
Un moyen peut être pour garder le découplage serait d'utiliser de l'injection de dépendance. Je ne connais que le principe, je ne l'ai jamais mise en oeuvre, mais je pense que cela pourrait répondre à ton problème (en gros, tu n'aurais plus de dépendance dans ton code, mais seulement dans un fichier de configuration). Concernant l'utilisation de MVC pour l'édition de tes cases, je dirais oui. J'ai réalisé plusieurs applications en client lourd et c'est toujours l'approche que j'ai utilisée. Cela m'a toujours apporté beaucoup de souplesse (par contre, comme il s'agit d'applications réalisées dans le cadre de mon travail, je ne peux pas te donner d'exemple). |
|
00
|
Copyright © 2000-2013 - www.developpez.com