MVC — ou Model-View-Controller — est un moyen d’organiser un logiciel en trois parties :

  1. Le modèle, qui contient le code propre à l’application
  2. La vue, qui contient le code permettant de représenter le modèle à l’écran
  3. Le contrôleur, qui contient le code qui gère les entrées d’un utilisateur

Ceci n’est pas vraiment un patron à en proprement parler c’est une manière d’organiser son code.

On parle plutôt donc de patron architectural (Architectural Pattern)

Modèle

Le modèle ne contient donc aucun code qui gère l’interface graphique ni les entrées utilisatrices.

Exemple Toutes les classes de Ajul gérant les fonctionnement du jeu

Vue

La vue est responsable d’afficher le modèle à l’écran.

Exemple Dans Firefox, le code qui affiche les pages HTML

Contrôleur

Le contrôleur est responsable de gérer les entrées d’un utilisateur.

Exemple Dans Firefox, le code qui prend compte des clics/touches pressées, etc...

MVC + Observer

Pour que le fonctionnement MVC soit atteignable, il faut utiliser des Observer Notifier le modèle des inputs, etc…

Intérêts et désavantages

Cela nous permet de pouvoir tester individuellement les parties du programme.

On peut utiliser le même modèle pour plusieurs interfaces.