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

Design Pattern 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ôleurfait 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.