Cherche une petite explication sur le mvc
keviin55
Membre
Salut tout le monde ,
j'ai lu des tonnes de truc sur le mvc , je l'ai lu en cours ... Mais dans mon cas je comprend pas J'ai créer une application iphone qui communique avec un sservice web RESTful . La j'ai terminer l'application et je veut savoir si j'ai vraiment appliquer le MVC . Je n'arrive pas à trouver quel sont les classe modèle , j'ai que des controlleurs après reflexion je me suis dit que le model c'est petre le service web non ? Je vous explique encore ce que j'ai fait , par exemple l'utilisateur entre le numéro du vole dans un UITextField , il entre rechercher , ça c'est une classe checkStatusController , une fois cliquer , la méthode cliquer crée une instance de la classe getStatusController , qui crée un lien de se genre "http://localhost:8080/RESTfulwebservice/getStutus/etLeNumeroDuVoleIci " et fait appel à une méthode de la classe ASIHTTRrequest ( c'est une librairie qui gère les requètes http ...) qui contactle le service web en mode asynchrone (dans l'arrière plan ) une fois terminer ell envoi le résultat XML en NSSTRING à ça classe Delegate qui à lancer la méthode asynchrone , getStatusController, qui parse le résultat et créer un objet de la classe Status .Cette dernière ne contient que des attribut (numéro du vol, état du statut ...) après getStatusController rempli une UITableView à partir de cet objet créer .
J'espère que vous m'avais compris .Et j'espère que getStatusCotroller n'est ne joue pas le rolè d'un modèle et d'un controlleur ... Help svp
j'ai lu des tonnes de truc sur le mvc , je l'ai lu en cours ... Mais dans mon cas je comprend pas J'ai créer une application iphone qui communique avec un sservice web RESTful . La j'ai terminer l'application et je veut savoir si j'ai vraiment appliquer le MVC . Je n'arrive pas à trouver quel sont les classe modèle , j'ai que des controlleurs après reflexion je me suis dit que le model c'est petre le service web non ? Je vous explique encore ce que j'ai fait , par exemple l'utilisateur entre le numéro du vole dans un UITextField , il entre rechercher , ça c'est une classe checkStatusController , une fois cliquer , la méthode cliquer crée une instance de la classe getStatusController , qui crée un lien de se genre "http://localhost:8080/RESTfulwebservice/getStutus/etLeNumeroDuVoleIci " et fait appel à une méthode de la classe ASIHTTRrequest ( c'est une librairie qui gère les requètes http ...) qui contactle le service web en mode asynchrone (dans l'arrière plan ) une fois terminer ell envoi le résultat XML en NSSTRING à ça classe Delegate qui à lancer la méthode asynchrone , getStatusController, qui parse le résultat et créer un objet de la classe Status .Cette dernière ne contient que des attribut (numéro du vol, état du statut ...) après getStatusController rempli une UITableView à partir de cet objet créer .
J'espère que vous m'avais compris .Et j'espère que getStatusCotroller n'est ne joue pas le rolè d'un modèle et d'un controlleur ... Help svp
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ton modèle ici c'est la base de donnée hébergée sur ton serveur.
Le contrôleur c'est lui qui va requêter ta base de donnée et traiter la réponse pour ensuite passer les infos à ta vue.
Donc tu peux avoir genre une classe héritant de NSObject qui va s'occuper de tout ce qui est téléchargé.
Ensuite tu avertis ton ViewController qui lui va se charger de refresh les données (par exemple un UITableView).
Tu peux aussi avec un modèle interne à ton application (Core Data par exemple) que ton controlleur se charge d'updater.
En gros ta vue ne communique pas avec ton modèle.
Si tu commençais maintenant ça ne serait probablement pas plus mal
Mais bon, on voit toujours les fautes des autres jamais les siennes ..
Il y a d'autres conventions que tu ne respecte pas: les noms de classe sont capitalisés avec une majuscule en premier caractère et le reste en minuscule (sauf la première lettre des mots qui font le nom de la classe). Ainsi on écrit la classe getStatusController GetStatusController sinon on croà®t à une variable d'instance...
S'il n'a que des attributs ça ne saurait être un contrôleur, qui répond à des actions et des événements , ni une vue qui affiche les attributs. Donc ...
Par contre je ne suis pas sûr de moi pour affirmer qu'un modèle peut contenir des méthodes qui le modifient. Spontanément je dirais que oui parce que c'est ce que je fais.. Parfois j'ajoute un "Manager" (gestionnaire) si le modèle a des attributs dépendants d'autres classes.
Je doit présenter mon diagramme de classe demain , je bosse comme un dingue
Merci beaucoup . La dernière petite question es que le app Delegate entre dans le diagramme de classe ? et les vues je les mets ? merci
A mon humble avis tu t'y es pris trop tard. J'en ai un comme toi à la maison...
Et tu n'es pas tombé sur le bon cheval car je ne suis qu'un autodidacte sans notion aucune de ce que tu dois remettre à tes profs..
Si c'est pour un devoir ça n'est pas à nous de le faire à ta place: si tu l'avais déjà fait, même mauvais, tu aurais pu le présenter et on l' aurait peut être corrigé mais là on dirait que tu arrives avec le brouillon de tes idées en vrac et tu nous demandes de le trier et le mettre au clair avant demain !
Good luck
Sinon la réponse à ta dernière question est probablement contenue dans l'énoncé de ton problème: tu dois mettre dans ton diagramme les classes qu'on te demande d'y mettre !
hth