Design pattern MVC pour les punk-rockeurs
Voici une présentation “punk rock” du design pattern MVC extraite de notre formation Symfony.
Rock’n’MVC
Controller, notre chef d’orchestre ou frontman
Wiki nous explique le contrôleur
Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de la vue et enclenche les actions à effectuer. Le contrôleur n’effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client et se contente d’appeler le modèle adéquat et de renvoyer la vue correspondant à la demande.
MC’Rock nous explique le contrôleur
Le frontman (contrôleur) fait jouer (mettre à jour la vue) la partition de sa musique (modèle). Si les fans (requête du client) sont excités (analyse la requête du client), alors il augmente l’intensité musicale (enclenche les actions à effectuer & renvoie la vue correspondant à la demande).
Model, notre partition
Wiki nous explique le modèle
Le modèle représente le cœur de l’application. Il décrit les données manipulées par l’application. Il regroupe la gestion de ces données et est responsable de leur intégrité. La base de données sera l’un de ses composants. Le modèle comporte des méthodes standards pour mettre à jour ces données. Il offre aussi des méthodes pour récupérer ces données. Les résultats renvoyés par le modèle ne s’occupent pas de la présentation. Le modèle ne contient aucun lien direct vers le contrôleur ou la vue.
MC’Rock nous explique le modèle
La partition (modèle) c’est le cerveau de ta musique (cœur de l’application). Tu peux utiliser du papier à musique (base de données) pour l’écrire (le modèle comporte des méthodes standards pour mettre à jour ces données). Mais la partition n’est pas l’âme de la musique (le modèle ne s’occupent pas de la présentation)
View, musiciens ou rock band
Wiki nous explique la vue
Ce avec quoi l’utilisateur interagit se nomme précisément la vue. Sa première tâche est de présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toute action de l’utilisateur. La vue n’effectue pas de traitement, elle se contente d’afficher les résultats des traitements effectués par le modèle et d’interagir avec l’utilisateur. Plusieurs vues peuvent afficher des informations partielles ou non d’un même modèle.
MC’Rock nous explique la vue
Les musiciens sont l’âme de la musique (présenter les résultats renvoyés par le modèle). Ils déchaînent la foule (interagir avec l’utilisateur) parce qu’ils jouent avec leurs tripes (La vue n’effectue pas de traitement). Pour sonner différemment, ils changent souvent d’instruments pour un même morceau (plusieurs vues peuvent afficher un même modèle)
Conclusion
Merci à vous, web rockeur, pour avoir partagé musique et MVC avec nous.