Présentation du concept
Le projet a été bâti en prenant soin de séparer les objets métier (les données) de leur représentation graphique, et ce dès la phase d’analyse.
Le modèle MVC (Modèle-Vue-Contrôleur) est un patron d’architecture qui formalise cette séparation en introduisant une couche logicielle intermédiaire, le contrôleur.
Dans un contexte MVC, les données constituent les modèles, les classes graphiques les vues. Modèle et Vue sont totalement indépendants l’un de l’autre : ils ne se connaissent pas. Comment alors les actions des utilisateurs via les vues peuvent-elles modifier les modèles et inversement comment les données attendues peuvent-elles être affichées ? Ce sont justement les contrôleurs qui vont établir ce lien.
Autre particularité importante : le modèle, s’il ne connaît pas directement les vues qui affichent ses données, a néanmoins la possibilité de notifier à celles-ci tout changement le concernant.
Le schéma montre que l’utilisateur n’a aucune connaissance du contrôleur. C’est pourtant lui qui transmet de manière transparente pour l’utilisateur les demandes au modèle pour traitement. Les vues sont mises à jour par l’intermédiaire du modèle via un système de notification basé sur la notion d’événements...