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

Java Discussion :

[Design Pattern] Modele MVC


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 33
    Par défaut
    Citation Envoyé par calogerogigante
    C'est gai quand on se rend compte qu'on a bien compris la chose, qu'on peut la ré-expliquer, et que les autres personnes du forum (plus doués que moi en programmation) sont d'accord avec vos propos...
    ;-)
    ;-)
    Je vais passer une bonne journée, je crois...
    Merci pour l'exemple je vais tacher de faire ca au plus vite.
    Le principe est tres interessant, tout separer pour reutiliser et maintenir, la perfection quoi.
    J'ai eu pour ma part beaucoup de difficultes a apprehender la notion de metier au depart et de la sont nes beaucoup d'interrogations mais ca vient ca vient

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur full-stack
    Inscrit en
    Mai 2002
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur full-stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 46
    Par défaut
    Bonjour,

    Depuis plusieurs années je travaille sur des projets d'IHM pour la gestion, et une chose dont je suis absolument certain c'est que le terme MVC est devenu très vague.

    A sa création (je crois que c'était en smallTalk il y a bien longtemps) son but premier était (et est toujours) de proposer un modèle de séparation entre le modèle de données et la vue. Ceci afin de pouvoir afficher le même modèle de donnée dans plusieurs vues (swing est pour ça un bon éxemple).

    Son fonctionnement était celui-là (en gros):
    le model (ex: class Voiture) :
    -contenir tous les champs du genre "longeur" ainsi que les accesseurs.
    -lancer un évenement lors d'un changement de son état du genre "ma longeur a changer" (pour ce mécanisme, voir le pattern observer)

    la vue (ex: VoitureUI):
    -contenir les composants graphiques
    -"contenir le model" pour l'écouter (pattern observer) et faire les modifs graphiques adéquates.
    -lancer des évenements graphiques (ex: "on m'a clické dans telle zone")

    le controller (ex: VoitureController)(qui a bien changé depuis..):
    -"contenir" la vue pour l'écouter et "contenir" le model pour le modifier en conséquence (le but était de regrouper dans un même bloc touts les évenements de l'UI)

    Depuis ça à changer,
    Chaque implémentation du MVC est différente, le seul point commun est l'indépendance (+ou-) totale du modèle vis a vis de la vue.
    Un changement qui me parait important(mais j'ai pas trop d'info): c'est le développement plus poussé des bibliothèques de composants.
    Ces composants sachant localiser les évenement UI de façon plus précise (ex: le bouton d'un popup qui envoie "double-click") le controller tel qu'il étai pensé perd beaucoup de sa raison d'etre.
    Du coup, on a le MV (qui supprime simplement le controller) et que j'aprecie beaucoup.
    Mais pour la plupart des MVC actuels le controller ne sert ni plus ni moins qu'à encapsuler le doublet Model/vue afin de l'assembler à un autre doublet... (voir encore SWING)

    J'espere que je ne me suis pas trop trompé et que tu comprendra mieux.
    Juste un dernier mot: tu as raison de t'interroger, tout ce qui peut rendre le code industiel est le bienvenu, mais des recherches réguliéres sur te seront d'une grande aide.

    A+

  3. #3
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Le concept de Model-View-Presenter semble intéresser beaucoup de monde aujourd'hui. Le MVP est justement ce dont tu parles : cette mutation du MVC pour répondre aux besoins des GUI modernes.

  4. #4
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 603
    Par défaut
    Merci avtonio pour ces précisions supplémentaires...
    Tes propos confirment la notion vague de controlleur...

    En effet, tout ce qu'on m'a appris à l'école d'informatique sur MVC ressemblait très fort plutôt à quelque chose comme MV seulement !!

    Je suis content qu'un professionnel en IHM vienne apporter cet éclaircissement qui me rassure une fois de plus, quelque part !
    ;-)

    Gfx: ton lien est aussi très intéressant !!
    Je vais l'imprimer !!

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur full-stack
    Inscrit en
    Mai 2002
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur full-stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 46
    Par défaut
    merci Gfx.
    On peut remarquer qu'on se rapproche de + en + de la notion de "composants abstraits" pour peu qu'on oubli le MV et qu'on s'attarde sur les conteneurs (ou composants) qui peuvent etre graphique, réseau, BDD, ou autres IO ..

    Le but est biensûr de faire une API de "composants abstraits" qui pose les bases de la structure de la totalité des applications et rend le travail + industiel.
    On peut penser que cette approche est utopique mais c'est faux, dans un context applicatif donné une telle API peut tout à fait subir l'épreuve du temps:
    j'ai réalisé une API de ce style pour ma boite et toute l'équipe s'y est mis (et avec plaisir en plus!) il y a de cela presque 4 ans. (même si en ce moment je suis entrain d'améliorer l'API.. )

    voilà, je voulai juste partager cette éxperience.

    ah oui, au fait : je ne me souvient plus très bien mais il y a aussi HMVC et struts pour le web.

  6. #6
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    avtonio : tu viens de décrire très brièvement l'injection de dépendance, également appelé inversion de contrôl (ou IoC en anglais pour Inversion of Control). J'ai écrit un article à ce sujet dans le numéro de mai ou juin du magazine Login: mais tu trouveras de nombreuses informations sur le web, notamment sur le site web de Martin Fowler, qui a écrit plusieurs articles à ce sujet.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur full-stack
    Inscrit en
    Mai 2002
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur full-stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 46
    Par défaut
    merci pour le lien , le peu que je viens de lire me plait.
    Martin Fowler... son nom me dit qq chose...

    Mais j'ai l'impression qu'on s'écarte légerement du sujet de départ. (et surtout que j'ai du boulot)
    Allez, salut à tous !

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 91
    Par défaut
    Après lecture de ce topic une question me vient en tête : "comment le model ou la vue font pour prévenir le controller de l'arrivé d'un evenement ? ". Est ce que pour se faire ils doivent connaitre le controller !
    Et dans ce cas là, faut il utiliser les écouteurs :
    Et quand est il du pattern Observer !

    C'est pas très clair dans mon esprit, et il me tarde de voir comment je vais implémenter MVC à mes programmes.

Discussions similaires

  1. Design pattern MVC et point d'entrée
    Par rgamor dans le forum Langage
    Réponses: 4
    Dernier message: 31/10/2012, 17h07
  2. Design Pattern MVC en Java
    Par JCD21 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 02/03/2012, 13h10
  3. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  4. Problème d'accessibilité avec le design patterns MVC
    Par radical_bombtracks dans le forum JSF
    Réponses: 5
    Dernier message: 24/07/2007, 13h15
  5. [Design Pattern]Respecter le modèle MVC
    Par etiennegaloup dans le forum Général Java
    Réponses: 2
    Dernier message: 16/10/2005, 12h00

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