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

Modélisation Discussion :

Cherche une petite explication sur le mvc


Sujet :

Modélisation

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 37
    Points : 31
    Points
    31
    Par défaut Cherche une petite explication sur le mvc
    Bonsoir tout le monde ,
    j'ai lus des tonnes de truc sur le MVC et je croyais avoir compris le principe.Mais là je suis dans un cas que je ne comprend pas.Pourriez vous s'il vous plait m'aider à identifier mon model .
    Mon projet consiste à un service web RESTful et une application iphone .Logiquement , ma vue c'est l'interface sur iphone ,les contrôleurs c'est les classes reliés à la vue et mon model , c'est le service web . Es que c'est correcte de mettre le service web comme model ?
    En plus , dans mon application iphone , j'ai des contrôleurs , mais j'ai aussi des classes que je n'arrive pas à trouver dans quel groupe mettre . Par exemple , la classe RecetteController contacte le service web , télécharge le json , le parse et crée un Tablaux avec des Objet d'une classe Recette , qui ne contient que des attributs , aucune méthode . Es que la classe Recette fait partie du groupe Model ?
    Aider moi svp , merci beaucoup d'avance

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Je suis pas un grand spécialiste du web service mais ce que je peux te dire c'est que la partie modèle dois regrouper toutes les données et les classes métiers de ton application. Donc la réponse dépend de comment tu souhaites gérer ces données.

    Si tu récupères certaines données via ton web service et que tu fais des traitements dans ton application iphone, alors je pense qu'il faut considérer ton modèle MVC uniquement sur ton appli iphone, la partie modèle deviens alors l'ensemble des classes effectuant ces traitements dans cette appli. Le web service lui utiliserait un point d'entré dans ton contrôleur pour venir mettre à jour tes données dons le modèle. Il représenterait alors une sorte un modèle annexe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                            Web Service
                                     |
         ---------------------------------------------------------  
       appli iphone  :            contrôleur 
                                  /     \
                                /        \
                               modèle<==>Vue

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2009
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    Je suis pas tout à fait d'accord avec ca. Le modèle n'est pas le service web dans ton propre exemple.

    Dans ton cas, le modèle contient des information qu'il tire du service web via des méthodes getXXX() pour mettre à jour ses données et informer la vue des changements.

    Le modèle est donc un objet qui contient toutes les informations présentes dans la vue et des méthodes de synhcronisation avec le webservice.

    Attention à une chose aussi, il ne fait pas croire qu'une classe = soit un modèle soit une vue, soit un controlleur. Tu peux très bien mettre les classes de contrôles dans les mêmes classes que les vues dont ils dépendent. Le modèle VMC c'est une façon d'organiser les choses. Dans ton exemple, oui c'est correct de considérer que la Recette fait parti du modèle.

    L'exemple de Nico2 est également valable, dans ce cas c'est au contrôlleur d'interroger le webservice.

    Mais alors dans ce cas peut être est il préférable de considérer le webservice en tant que modèle et ne pas répliquer les informations (supprimer la classe Recette du coup) à toi de voir les choses. Le modèle MVC peut être utilisé de plusieurs façon.

  4. #4
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Attention à une chose aussi, il ne fait pas croire qu'une classe = soit un modèle soit une vue, soit un contrôleur.
    Complètement d'accord, dans le modèle MVC le contrôleur représente le moyen de synchroniser les actions des utilisateurs sur la vue (ton IHM) avec les données du modèle, cela n'exclue en rien le fait de pouvoir avoir des classes de contrôles entres tes classes métiers.

    Mais alors dans ce cas peut être est il préférable de considérer le webservice en tant que modèle et ne pas répliquer les informations (supprimer la classe Recette du coup) à toi de voir les choses.
    Je pense que cela dépend vraiment de l'utilisation que l'on veut faire avec ces données. Si il faut simplement allé chercher des données au travers du web services pour ensuite les affiché je suis d'accord, par contre si il y à des traitements à effectuer sur ces données, il peut être préférable dans garder une partie dans l'application pour éviter un utilisation massive du web service. Encore une fois cela dépend vraiment de l'utilisation.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2009
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Nico02 Voir le message
    Je pense que cela dépend vraiment de l'utilisation que l'on veut faire avec ces données. Si il faut simplement allé chercher des données au travers du web services pour ensuite les affiché je suis d'accord, par contre si il y à des traitements à effectuer sur ces données, il peut être préférable dans garder une partie dans l'application pour éviter un utilisation massive du web service. Encore une fois cela dépend vraiment de l'utilisation.
    Tout à fait d'accord puisque le rôle du modèle est justement la gestion des données !!

  6. #6
    Membre Expert

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

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    D'un point de vue strictement Grasp Pattern un contrôleur c'est la solution au problème "A qui envoyer un message provenant d'une IHM ? Au contrôleur"


    Après de manière générale un WS c'est un contrôleur (il ne gère pas que les données il y a aussi le transport, la sécurité, les sessions etc...) puisqu'il va faire l'interface entre l'utilisateur (via une IHM) et des données (le modèle) et cela peut importe que l'architecture soit N-Tiers ou pas (par exemple une IHM sur un IPhone, un WebService hébergé en Inde et une base de données hébergée en Australie)


    Pour répondre à ta dernière question. Oui "recette" c'est probablement une classe du modèle et "RecetteContrôler" comme son nom et son rôle semble l'indiquer c'est un contrôler.

    On pourrais voir la séquence ainsi :

    Depuis l'ihm Iphone : LabelTemperature = ControleurMeteo.AppelerWebServiceMeteo();

    Depuis le ControleurMeteo : return ControleurWebService.RecupereMeteo();

    Depuis le WebService : return ModelMeteo.RecupereTemperatureCourante()

    Il y a clairement un niveau d'indirection et le Web Service n'est pas le modèle puisqu'il l'utilise.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

Discussions similaires

  1. [Flex4] Une petite explication sur paramètre dans URL
    Par yvancoyaud dans le forum Flex
    Réponses: 3
    Dernier message: 07/03/2012, 16h14
  2. Encore une petite question sur les sockets...
    Par damien99 dans le forum MFC
    Réponses: 4
    Dernier message: 15/02/2006, 14h22
  3. .htpass : une petite explication please
    Par PuMa|Yas dans le forum Apache
    Réponses: 2
    Dernier message: 31/08/2005, 12h57
  4. Réponses: 24
    Dernier message: 29/08/2005, 13h33
  5. copier une petite texture sur une grosse texture
    Par gaut dans le forum DirectX
    Réponses: 5
    Dernier message: 15/10/2004, 22h12

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