Modèle Vue Contrôleur - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Modèle Vue Contrôleur (/showthread.php?tid=2976) |
Modèle Vue Contrôleur - xsastana - 28-08-2008 Bonjour à toutes et à tous, Un petit post sur un grand sujet ! Je viens vous parler ici d'une façon de développer peu connue mais très pratique et plutôt cartésienne (débutants, s'abstenir). Il s'agit du "Modèle Vue Contrôleur" (en abrégé MVC). A l'origine cette méthode de conception était utilisée en électronique pour architecturer l'IHM (Interface Homme-Machine), mais a évolué et est aujourd'hui utilisée par les studios de développement pros pour construire un code, voir même un framework (c'est mon cas). Ainsi, aujourd'hui, pratiquement tous les langages ont une version plus ou moins élaborée de cette architecture (C++, Java, Perl et notre ami PHP avec une approche intéressante). Le réel intérêt de ce principe est sa simplicité et sa facilité de l'intégrer dans nos développements. Il est ainsi possible d'adopter une méthode hybride (MVC/PHP Procédural par exemple), comme une méthode MVC puriste (CakePHP). Dans mon cas, le "Saphir" est un framework hybride, et cela me permet aujourd'hui de créer un site sur une base solide en quelques jours au lieu de quelques mois et d'y incorporer des relations avec d'autres langages de façon plus simple (multiples connexions avec du JS et du Flash bien sûr, mais aussi avec des moteurs VB et C++). C'est un exemple, et tout ceci est possible en PHP Procédural, bien sûr, mais il s'agit ici de travailler sur la façon d'organiser son programme. J'incite donc tous les développeurs chevronnés à tenter l'expérience: de nombreux ouvrages intéressants traitent la question, et sans même aller jusque là je peux conseiller d'aller jeter un oeil à Wikipedia et aux quelques résultats de Google sur la question. Si vous avez des questions (même quant à sa mise en place en pratique) je me ferais une joie d'y répondre ! Bonne soirée RE: Modèle Vue Contrôleur - Plume - 28-08-2008 Saphir ? Inconnu au bataillon. Un framework personnel ? Par contre, tu m'as fait sourire en disant que MVC n'était que peu connu. C'est clairement faux. Cela revient à dire que peu de personnes savent que la POO existe. Et pour ton information, MVC est un patron de conception :] Tu n'as pas de questions ? RE: Modèle Vue Contrôleur - xsastana - 28-08-2008 Oui, le Saphir est le framework utilisé dans ma boite, et créé par mes petites mains (et celles de mes associés, si je les mensione pas je vais encore prendre des baffes). EDIT: Quand je dis "peu connu", c'est vrai que c'est un peu exagéré mais je ne connais pas encore la population de ce forum, je prends donc des pincettes ! RE: Modèle Vue Contrôleur - Lanwin - 29-08-2008 Ne pas connaître le MVC sur JeuWeb est passible d'exécution à coup de "Bouh t'es pas à la page" par pack de douze... Quant au fait de l'appliquer... ça c'est une autre histoire ^^ Amicalement, RE: Modèle Vue Contrôleur - Zamentur - 29-08-2008 J'aurais pas dis mieux lol RE: Modèle Vue Contrôleur - zneman - 29-08-2008 En ce qui me concerne, j'utilise actuellement un dérivé de MVC avec IHM. MaPage => Gestionnaire => ClassSpecifique => Tables => IHM Ma page: contient le plan de ma page, la structure en fonction vers le Gestionnaire Gestionnaire: Il fait le lien entre les données envoyées par la ClassSpecifique et l'IHM ClassSpecifique: elle contient les fonction de requetes pour envoyées à Tables ! Elle retourne les valeurs au Gestionnaire pour ensuite qu'il les affiche dans l'IHM Tables: Effectue les requêtes SQL et retourne les valeurs à la ClassSpecifique IHM: Contient tout le code html, elle est non intelligente et sert donc juste à organiser les infos. ------------------------------------------------------- Je trouve cette méthode très pratique en ce qui me concerne, elle permet d'alleger beaucoup le code (de le séparer). RE: Modèle Vue Contrôleur - xsastana - 29-08-2008 C'est exactement une méthode que je conseillerai aux personnes qui veulent se lancer dans le MVC zneman. Faire quelque chose de simple mais qui facilite considérablement la vie ! ( Lanwin: Je vois héhé. Créons donc des sujets un peu plus évolués :] ) Cela dit ça m'interresse de voir comment les développeurs se débrouillent avec le MVC pour ceux qui l'ont choisi comme base de travail. Et je me ferrai un plaisir de me pencher sur vos éventuels exemples d'applications ! RE: Modèle Vue Contrôleur - zneman - 30-08-2008 Oui, c'est aussi ce que je conseil aux personnes voulant débuter dans la décomposition de code Méthode très facile à assimiler (quelques heures) et qui permet énormément de choses En ce qui concerne maintenant le MVC comme décrit sur le SDZ par exemple, je le trouve bien moins pratique (surtout que dans l'exemple, ils utilisent pas la POO ), j'ai testé rapidement mais ce n'est pas la peine de se compliquer la vie pour ci peu Comment fonctionnent vos MVC (ou dérivés) à vous ? PS: Merci pour le point de réputation Xsastana :ange: RE: Modèle Vue Contrôleur - Cartman34 - 30-08-2008 Il n'est pas dit que le MVC incorpore de la POO et diffère du procédural (terme très peu explicite en fait...) On peut très bien avoir du procédural dans du MVC. MVC est toujours une architecture et une méthode IHM, je ne comprends pas trop ce que tu as voulu dire... J'ai vérifié ce que j'ai dit (car à l'origine, je ne suis pas trop pour l'utilisation abusive de ce genre de terme...) Sources: - Wikipédia: Procédure informatique Programmation procédurale MVC EDIT: je reviens sur ce que j'ai dis dans le sens où tout ne concerne pas les messages précédents (mauvaise lecture par moi-même) mais je laisse pour davantage d'explications pour ceux qui "débarquent". RE: Modèle Vue Contrôleur - zneman - 30-08-2008 Je n'ai jamais dis que MVC était forcement fait pour la POO hein ?! Juste que MVC est beaucoup plus agréable à utiliser (je trouve) avec la POO (qui ajoute plus encore de lisibilité). |