p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Inscrit en
    janvier 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 13
    Points : 0
    Points
    0

    Par défaut [MVC] Modification directe de la vue par le contrôleur ?

    Salut à tous !

    Je suis actuellement en train d'étudier le design pattern MVC.

    Pour moi, la logique de ce pattern est la suivante :


    Cependant je trouve régulièrement ce type de schéma :


    Ce dernier cas me parait étrange car pour moi toutes interactions entre la vue et le modèle devrait passer par le contrôleur.

    Comment expliquez vous ces deux types de cas ?

    Merci d'avance pour vos réponses !

  2. #2
    Membre Expert
    Inscrit en
    janvier 2011
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : janvier 2011
    Messages : 369
    Points : 1 087
    Points
    1 087

    Par défaut

    Salut,

    Le pattern MVC a subi de nombreuses mutations depuis son invention (dans les années 70 je crois). D'ailleurs au début les contrôleurs étaient faits pour tracker des actions sur l'UI et il y avait X contrôleurs par écran. Aujourd'hui il y a plusieurs variantes qui coexistent. Dans la version du deuxième schéma, on considère que le contrôleur est juste un aiguilleur qui va gérer le cheminement de la navigation dans l'application. La vue s'adresse directement au modèle pour savoir si les données qu'elle affiche ont changé, soit en lui demandant soit en étant notifiée par un système d'événements.

    Par contre je pense que tu trouverais davantage ton bonheur avec le pattern MVP qui est plus une chaîne (V <=> P => M) qu'un triangle comme MVC.

  3. #3
    Membre émérite Avatar de atha2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    janvier 2007
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : janvier 2007
    Messages : 628
    Points : 957
    Points
    957

    Par défaut

    J'arrive un peu tard mais j'espère que ma réponse pourra te servir (ou à quelqu'un d'autre)
    Pour moi, il n'y a pas vraiment de différence entre les deux schéma. La seule différence c'est que dans un cas la notification du changement du Modèle passe par le Contrôleur avant d'arriver à la Vue.

    Comme disait un de mes profs quand j'étais en DUT, le MVC n'est pas un pattern normalisé. On l'adapte en fonction de l'application (dépendance entre les différentes couches). Si ton contrôleur a besoin besoin de savoir que la vue est notifier alors utilise le premier schéma. Généralement, vu que c'est le contrôleur qui a modifié le modèle, il sait que la vue va être notifié (et dans quel contexte) donc c'est useless. Mais c'est à prendre au cas par cas.
    Je viens de regarder le pattern MVP (que je ne connaissais pas) et j'ai l'impression qu'entre les 2 (MVC (2ème schéma) et MVP) la différence est qui a la responsabilité de mettre à jour la Vue : la Vue elle même ou le Contrôleur.

    Au final la question est de savoir si le Contrôleur doit connaître le type de la Vue ?
    Enfin je dis au final mais on peut poser la question dans l'autre sens : la Vue doit-elle connaitre le modèle ?

    AU FINAL tout dépend des besoins

Discussions similaires

  1. Modification d'éléments d'une vue par une servlet
    Par quentin.pigne dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/05/2013, 18h12
  2. Réponses: 3
    Dernier message: 14/03/2012, 17h01
  3. [MVC] Mise à jour de la vue par le modèle
    Par PanicKernel dans le forum MVC
    Réponses: 2
    Dernier message: 20/08/2007, 21h10
  4. MVC pour connecter données et vue automatiquement
    Par tonioab dans le forum AWT/SWING
    Réponses: 6
    Dernier message: 31/01/2006, 11h58
  5. Modification mot de passe Linux par Dephi?
    Par nmathon dans le forum Langage
    Réponses: 1
    Dernier message: 12/08/2005, 20h04

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