other

Le MVC, tout simplement !

Explication simple pour comprendre ce design pattern

Le MVC, tout simplement !
profil_c2c.png

Article de Christophe_c

Le MVC

 

 

 

Petit acronyme de Model - View - Controller, 

cette architecture de programmation peut gêner lorsque nous la découvrons.

 

Pour ma part, les explications que j'ai pu croisées étaient toujours trop techniques pour mon niveau de l'époque.

C'est pourquoi j'ai essayé de vous trouvé une métaphore la plus simple possible pour comprendre avec un exemple concret imageant le fonctionnement de ce design pattern.

 

Vidéo

 

 

Les 3 éléments Model - View - Controller ne se suffisent pas à eux-mêmes.

Un point d'entrée, comme index.php, et une base de données

sont des éléments cruciaux également.

 

Si nous jouons au Petit Poucet, comme souvent quand nous gérons un backend...

 

1 - l'index/l'utisateur passe sa commande

2- le controller voit s'il peut le servir

3a- le controller n'a pas besoin d'informartions complémentaires, une page statique ar exemple, il sert sa vue. Fin !

3b - le controller a besoin d'informations complémentaires, il appelle le model

4b - le model regarde les besoins et va communiquer avec la base de données (CRUD)

5b - le model envoie les informations au controller

6b - le controller traite ces informations et renvoie la vue à l'utilisateur.

 

Prenons un cas concret : 

 

1) Je m'inscris sur un site.

Je fais face à un formulaire vierge.

Nous sommes passés par l'index, le controller puis la vue du formulaire vierge est reçus

 

2) Je veux modifier mes informations.

Demande faite par l'index au controller qui a besoin de mes infos personnelles pour préremplir le formulaire.

Il demande ces infos au model qui les prend en base de données et les renvoie au controller.

Ce dernier me propose une vue dont les input contiennent mes informations actuelles à modifier potentiellement.

 

Et l'intérêt du MVC dans tout ça ?

 

▶️séparation des responsabilités (logique / interface / requêtes)

▶️maintenance facilitée (en modification ou débbugage)

▶️réutilisation du code (un même requête est utilisable à plusieurs endroits)

▶️scalabilité (on peut ajouter des models, des vues, des controllers sans gêner l'existant)

▶️projet en commun (les front touchent les vues quand les back jouent avec les models)

 

Au final, le MVC c'est modulable, clair et facile à maintenir !

 

Une fois que vous en avez fait un, vous pouvez reprendre la structure de base et partir faire un nouveau projet facilement !

 

Et si bientôt, nous faisions notre propre projet en utilisant la structure MVC ? 😎

 

A bientôt Compagnon de Code

 

 

 

Commentaires

Ajoutez un commentaire