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

MVC Discussion :

[Contrôleur] Implémentation de type Médiateur, pourquoi pas!


Sujet :

MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut [Contrôleur] Implémentation de type Médiateur, pourquoi pas!
    Bonjour à tous et toutes,

    Dans le pattern MVC -(et non MVC2 (lui,orienté Web))- de base, le contrôleur n'est pas OBSERVATEUR du MODELE, c'est la VUE qui est OBSERVATRICE du MODELE.
    Jusque là Ok.

    Cependant, j'ai imaginé que (même dans le cas d'une appli. NON Web),
    on pouvait envisager de découpler COMPLETEMENT la VUE du MODELE
    (car en effet dans le MVC de base, la VUE connaît au moins le type du
    MODELE, à savoir le nom de son interface).

    Pour ce faire, je me suis dit qu'on pouvait mettre le CONTROLEUR en OBSERVATEUR du MODELE, à la place que ce soit la VUE!!
    Ce qui ferait alors du CONTROLEUR un MEDIATEUR entre VUE et MODELE,
    qui alors serait TOTALEMENT inconnu l'un pour l'autre!
    En même temps je me dis, mais la VUE doit connaître un minimum du MODELE, ne serait-ce que des Libellés métiers,...
    (PAr contre, évidemment on est tous d'accord pour dire que le MODELE n'a rien à connaître de la VUE).

    1-
    Alors, cette possibilité consistant à découpler TOTALEMENT la VUE du MODELE, vous semble-t-elle un plus, ou complètement inutile et illogique, en fonction de vos expériences notamment??
    Bonne idée ou pas??

    2-
    Cette autre façon d'envisager le MVC, en avez-vous déjà entendu parler ou quoi (hors contexte Web)?


    Merci beaucoup de votre aide et participation!

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par rp37000 Voir le message
    Dans le pattern MVC -(et non MVC2 (lui,orienté Web))- de base, le contrôleur n'est pas OBSERVATEUR du MODELE, c'est la VUE qui est OBSERVATRICE du MODELE.
    Jusque là Ok.
    Jusque là pas OK étant donné qu'il existe plusieurs variantes de MVC. Le controleur c'est la STRATEGIE, la VUE et le MODELE peuvent aussi l'un l'autre être observateur.





    1-
    Alors, cette possibilité consistant à découpler TOTALEMENT la VUE du MODELE, vous semble-t-elle un plus, ou complètement inutile et illogique, en fonction de vos expériences notamment??
    Bonne idée ou pas??

    Cela existe déja dans certaines variantes je ne suis pas sûr que tu as réinventé l'eau froide...


    2-
    Cette autre façon d'envisager le MVC, en avez-vous déjà entendu parler ou quoi (hors contexte Web)?
    Oui comme dis plus haut il existe plusieurs variantes, il faut voir ce qu'apporte le découplage dans ton cas. Au final tu découples ici pour coupler là donc...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    Tout d'abord hegros merci de ta réponse.

    J'apprends grâce à toi que sous la dénomination le MVC, peuvent se présenter sans gêne d'autres variantes que celle-ci, la plus standard:

    http://baptiste-wicht.developpez.com...onception/mvc/

    -

    Tu me dis:
    "...la VUE et le MODELE peuvent aussi l'un l'autre être observateur."

    Tu suggères donc une possibilité dans laquelle le MODELE serait observateur: je ne trouve pas cela judicieux(aurais-tu un exemple), car justement, à mon sens, l'une des raisons d'être du pattern MVC est d'avoir un MODELE TOTALEMENT découplé et donc indépendant de la VUE et du CONTROLEUR,
    ces deniers devant eux s'adapter justement au MODELE, surtout pas l'inverse, enfin c'est ma vision du truc.

    -

    Sinon, tu me confirmes ce que j'espérai, à savoir, la solution CONTOLEUR en tant que MEDIATEUR est tout à fait envisageable (je ne prétendais d'ailleurs pas inventer l'eau chaude à ce sujet ) c'est juste que cette variante là je l'ai RAREMENT vue sur le Net alors je m'interrogeais: pourquoi n'était-elle pas aussi utilisée que ça?


    Tu me dis au final , que dans cette solution avec CONTROLEUR en médiateur:
    "...Au final tu découples ici pour coupler là donc... "

    Oui je découple la VUE du MODELE, et COUPLE le CONTROLEUR au MODELE,
    mais l'avantage c'est que le CONTROLEUR , lui, était DEJA couplé au MODELE
    , donc je découple tout court, je ne recouple pas par derrière! C'est pour ça que je ne comprends pas pourquoi cette variante avec CONTROLEUR en MEDIATEUR ne jouisse pas d'une meilleure réputation ou d'un intérêt plus marqué et majoritaire, car encore une fois je l'ai rarement vue exposée sur le Net.

    Qu'en penses-tu? Qu'en pensez-vous?
    Merci encore!

  4. #4
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par rp37000 Voir le message

    Tu me dis:
    "...la VUE et le MODELE peuvent aussi l'un l'autre être observateur."

    Tu suggères donc une possibilité dans laquelle le MODELE serait observateur: je ne trouve pas cela judicieux(aurais-tu un exemple)
    Aucun exemple donc plutôt rare à trouver peut-être sur certaines optimisations ou lorsque la vue est fortement couplé à une base de données (le modèle)


    Sinon, tu me confirmes ce que j'espérai, à savoir, la solution CONTOLEUR en tant que MEDIATEUR est tout à fait envisageable (je ne prétendais d'ailleurs pas inventer l'eau chaude à ce sujet ) c'est juste que cette variante là je l'ai RAREMENT vue sur le Net alors je m'interrogeais: pourquoi n'était-elle pas aussi utilisée que ça?
    Du tout. Le controleur implémente la stratégie cela lui servirait à quoi d'observer le modèle ? Le contrôleur c'est le médiateur entre l'utilisateur et le modéle.


    [U]Oui je découple la VUE du MODELE, et COUPLE le CONTROLEUR au MODELE, mais l'avantage c'est que le CONTROLEUR , lui, était DEJA couplé au MODELE, donc je découple tout court, je ne recouple pas par derrière! C'est pour ça que je ne comprends pas pourquoi cette variante avec CONTROLEUR en MEDIATEUR ne jouisse pas d'une meilleure réputation ou d'un intérêt plus marqué et majoritaire, car encore une fois je l'ai rarement vue exposée sur le Net.
    Tu ne peux pas découpler la vue du modèle il faut bien quelque chose à observer. En découplant la vue du modèle cela veut dire qu'elle n'est plus couplé du tout, elle se débrouille toute seule ? Derrière j'ai l'impression que tu vas finir par la coupler au controleur...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    hegros, tu me dis:
    "Du tout. Le controleur implémente la stratégie cela lui servirait à quoi d'observer le modèle ? Le contrôleur c'est le médiateur entre l'utilisateur et le modéle."
    Une fois encore, SI JE SOUHAITE AVOIR LE CONTROLEUR EN OBSERVATEUR DU MODELE, C'EST POUR EVITER A LA VUE DE LE FAIRE ce qui me permet donc LE DECOUPLAGE COMPLET VUE/MODELE d'un point de vue programmation. C'est juste ça! Sinon, je sais bien que le contrôleur fait aussi office de stratégie pour la VUE, mais rien ne l'empêche d'être aussi OBSERVATEUR DU MODELE!
    Si c'est le terme "MEDIATEUR" qui te dérange, par référence au pattern MEDIATEUR, pas de pb. je peux en changer, disons QUE JE VEUX JUSTE DECOUPLER COMPLETEMENT LA VUE et le MODELE et que je ne comprends
    pas POURQUOI cette façon de faire n'est pas très répandue, malgré l'avantage d'avoir un découplage supplémentaire??

    Sinon, tu me dis:
    "Tu ne peux pas découpler la vue du modèle il faut bien quelque chose à observer"
    Oui qqch à OBSERVER: OBSERVATION du MODELE par le CONTROLEUR,
    qui sous notifications du MODELE, retransmet alors à la VUE les dernières mises à jour visuelles à effectuer.
    Je sais que cela augmente le couplage entre VUE et CONTROLEUR, même s'ils étaient déjà couplés, à savoir que le CONTROLEUR doit davantage en savoir sur la VUE.

    Je comprends que la VUE doit un minimum savoir ce qu'elle représente, ne serait-ce que pour les Libellés métiers à afficher, et donc quelquepart elle est liée au MODELE, ok, cependant on peut aussi supposer avoir une VUE plus généraliste pouvant s'appliquer à diverses abstractions de MODELE n'ayant rien à voir entre eux d'un point de vue métier, et n'implémentant donc pas la même interface. Et là le fait pour la VUE, de ne pas connaître le MODELE, et donc son type, son interface, prend tout son sens puisque dans le cas d'une VUE plus généraliste l'interface du MODELE peut varier d'un MODELE à l'autre.

    Comprends-tu mieux ce que je cherche à faire?
    J'ai du mal à comprendre ta réticence...

    Merci à toi.

  6. #6
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par rp37000 Voir le message
    Sinon, tu me dis:
    "Tu ne peux pas découpler la vue du modèle il faut bien quelque chose à observer"
    Oui qqch à OBSERVER: OBSERVATION du MODELE par le CONTROLEUR,
    qui sous notifications du MODELE, retransmet alors à la VUE les dernières mises à jour visuelles à effectuer.
    Je sais que cela augmente le couplage entre VUE et CONTROLEUR, même s'ils étaient déjà couplés, à savoir que le CONTROLEUR doit davantage en savoir sur la VUE.
    Je ne demande qu'à voir une implémentation ou un modèle logique en UML par exemple. De base le couplage modele et vue est trés faible le dp observateur aidant beaucoup de ce côté là. C'est trés simple comme dp, tu t'enregistres quand il y a du mouvement on te préviens. Mais ta solution reste possible il faut voir les détails.


    Comprends-tu mieux ce que je cherche à faire?
    pas vraiment non
    J'ai du mal à comprendre ta réticence...
    parce que c'est pas trés compréhensible pour moi toutes tes explications sur une personnalisation du mvc en plus tu utilises ton jargon(interface par exemple) qui peut largement à confusion

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

Discussions similaires

  1. Pourquoi pas WinDev 9 ?
    Par nyarla01 dans le forum WinDev
    Réponses: 35
    Dernier message: 25/07/2006, 19h41
  2. JTreeTable pourquoi pas en standard?
    Par Antoine_1977 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 03/01/2006, 22h33
  3. aperçu d image avec input type file marche pas dans ffx
    Par siddh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/11/2005, 09h11
  4. [Language][DAO]Pourquoi pas des Singletons ?
    Par le Daoud dans le forum Langage
    Réponses: 11
    Dernier message: 04/05/2005, 09h16

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