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

JSF Java Discussion :

fonctionnement de l'MVC egard JSF


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Par défaut fonctionnement de l'MVC egard JSF
    salut tout le monde ,
    je suis entrain de developper une application web plateforme j2ee sur le seveur d'application websphere d'IBM,j'ai adopte l'architecture MVC pour separer la partie logique de la partie presentation..mais je travaille sur framework JSF et je ne sais pas cmt il fonctionne MVC egard ce framework.est ce que vous pouvez m'aidez de citer les principes fonctionnement de l'MVC?
    merci

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    salut Essof () ca va ton projet ca avance.
    bon MVC c'est Model View Controller
    Model pour Metier
    View pour Interface Utilisateur
    Controller pour Controlleur.
    ca c'est pour le MVC.
    maintenant comment JSF implemente ces couches?
    il a les beans(managed-bean) pour modeliser la couche metier.
    la FacesServlet comme controlleur.
    et les pages JSF pour les Interfaces Utilisateurs.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    Bravo pour les confusions !

    pour une application simple on peut discerner 3 couches:
    - Présentation = qui se charge d'interfacer l'application avec le reste de l'univers.
    - Metier = qui se charge de réaliser ce pour quoi est faite l'application
    - Données = qui a la responsabilité des données nécessaires à la réalisation de la couche métier. (ca peut etre avec ou sans état), et ca peut etre relié à la couche:
    - Persistance

    La couche présentation peut etre:
    - une interface ligne de commande genre ms dos, surtout pour la communication avec d'autres programmes
    - une interface purement réseau pour la communication avec des machines
    - une IHM=GUI pour la communication avec des humains

    Une IHM c'est quelque chose de bien compliqué, c'est déjà une application en soit.
    Dans une IHM on trouve:
    - une sous couche présentation=graphisme et inputs dédié à un écran on parle alors de Vue
    - un model=ensemble d'infos qui composent l'IHM, on fait référence en parlant à l'info qui peut changer. Dans ces info on trouve des infos:
    1 purement IHM=état d'un bouton, selection etc...
    2 relative à la couche donnée: nom d'une personne etc...

    - le controleur a surtout pour fonction de gérer les changements d'états de l'IHM
    1 Interaction graphique (je selectionne ceci, alors ici ca doit etre sélectionné aussi...)
    2 La navigation sur différentes vue et pour se faire:
    3 Les interactions avec couche métier de l'application.

    Quand on rentre plus dans l'architecture de l'IHM on tombe sur les composants qui eux suivent maintenant le pattern UI delegate, ou le model et le controlleur sont couplés tandis que la représentation graphique est déléguée à un renderer spécialisé; c'est que la pour JSF et Swing.

    Pour JSF par de soucis, le MVC est bien découplé, au niveau IHM.
    Par contre méfiez vous lors du développement de bien découplé le framework JSF qui est un framework présentation des couches données et métier.

    JSF fait un binding vers des managed bean qui peuvent etre du model purement graphique aussi bien que des données applicatives.
    Demandais vous toujours si votre logiciel peut fonctionner sans l'IHM.

    Je pourrai en parler pendant des heures.
    So please, ne parlez plus de MVC en faisant référence à une application, d'aujourd'hui.

  4. #4
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    peut explique Alec6 pourquoi on peut pas parler du MVC avec JSF ??

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    Si si, c'est bien du mvc qu'on peut faire avec JSF dans la couche présentation.

    C'était juste pour rectifier tes explications; comme tu le dis
    - model est à implémenté en JAVA et se lie à la vue par l'intermédiaire des EL dans les attributs "value" (value="#{monBean.monAttribut}")
    - le ou les controleurs sont appelés par la vue avec les attributs actionListener etc à l'aide des EL
    - la vue c'est du xml de JSF

    la technique des managed bean simplifie la liaison avec les objets models, donc de la sous couche model de la couche présentation, mais aussi avec les objets de controles (il y a une disctinction entre managed beans et backing beans, mais je reste encore confu sur ce point);

    Il faut distinguer les objets models de la sous couche présentation qui contiennent des informations sur la vue (genre un boutons et grisés) de ceux qui représentent une information dans la couche donnée. Souvent on encapsule objet de données de la couche données dans des décorateurs ou adaptateurs au niveau présentation, pour qu'il soit utilisable par la vue.

    Donc JSF fait bien du mvc, mais ne vous trompez pas sur ce q'est le mvc (trois sous couches dans la couche présentation).

  6. #6
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    je t'explique alec6 mes propos quand on parle du MVC on parle bien du design pattern MVC sous entendu de design pattern on parle de framework de conception .
    pour utiliser le design pattern MVC(ici on parlera du MVC2) il faux (de point de vue conceptuelle de notre application) separe le model metier de la partie specifique a la gestion de view(UI).
    donc nos managed bean effectue la partie lier aux metier quand tu dis que
    la technique des managed bean simplifie la liaison avec les objets models,
    ce la entend dire qu'ilya une separation entre les managed bean et les bean metier tandis que q'on peux utiliser les bean metier comme managed bean.
    et nos page JSF
    le view et le controlleur c'est FacesServlet.
    le mapping view-metier ce fait par les ELs.
    Cependant, c'est vrai que point de vue developpement on peut delegue une partie de la gestion des view a des managed bean .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonctionnement de <f:event listener JSF
    Par siva27 dans le forum JSF
    Réponses: 1
    Dernier message: 21/11/2014, 08h18
  2. [Integration] Spring MVC + PrimeFaces + JSF
    Par chacalpuant1987 dans le forum Spring
    Réponses: 4
    Dernier message: 18/09/2014, 14h20
  3. Spring MVC et JSF
    Par berber5 dans le forum Spring Web
    Réponses: 2
    Dernier message: 09/05/2012, 16h51
  4. question sur le modèle MVC de JSF
    Par goute dans le forum JSF
    Réponses: 3
    Dernier message: 12/02/2009, 15h52
  5. [debutante]MVC avec JSF
    Par solawe dans le forum JSF
    Réponses: 13
    Dernier message: 15/11/2006, 01h43

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