IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Quel pattern MVC ou MVP utilisez-vous dans une application Winform MDI?


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 174
    Points
    174
    Par défaut Quel pattern MVC ou MVP utilisez-vous dans une application Winform MDI?
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IChildController childController = new ChildController(data,new MyChildForm());
    J'ai aussi essayé avec MVP, mais je ne suis pas sur d'y avoir tout compris.

    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

  2. #2
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    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).

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/06/2009, 19h49
  2. Réponses: 0
    Dernier message: 17/02/2009, 12h16
  3. Réponses: 1
    Dernier message: 19/04/2008, 18h37
  4. Réponses: 23
    Dernier message: 28/09/2007, 14h16
  5. Base de données dans une application WinForm
    Par Gat- dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/06/2007, 07h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo