Le pattern composite MVC
Les auteurs de Smalltalk-80Smalltalk-80 ont proposé une solution à ce problème qui s’appelle MVCMVC pour Model-View-ControllerModel-View-Controller qui prône la séparation suivante des composants d’une application :
-
ModelModel ( Modèlemodèle) : il s’agit du noyau fonctionnel qui gère les données manipulées par l’application.
-
ViewView ( Vuevue) : il s’agit des composants destinés à afficher les informations à l’utilisateur. Chaque vue est liée à un modèle. Un modèle peut être lié à plusieurs vues.
-
ControllerController ( Contrôleurcontrôleur) : un composant de type contrôleur reçoit les événements en provenance de l’utilisateur et les traduit en requêtes pour le modèle ou pour la vue. Chaque vue est associée à un contrôleur.
La liaison entre le modèle et une vue est réalisée en appliquant le pattern ObserverObserver que nous avons étudié dans le chapitre Le pattern Observer qui lui est consacré. Dans ce pattern, le modèle constitue le sujet et chaque vue est un observateur. Ainsi chaque mise à jour des données gérées par le noyau fonctionnel engendre une notification aux différentes vues. Celles-ci peuvent alors mettre à jour l’affichage des informations destinées...