Java pour l'informatique industrielle
Chapitre 1. Introduction aux objets
Chapitre 2. Les structures de contrôle
Chapitre 3. Unifier et réutiliser
Chapitre 4. Modèle, Vue et Contrôle
4.1. Motivation et fonctionnement
4.2. L'environnement graphique de Java
4.3. La gestion des événements
4.4. Cas d'étude 1 - sans notification
4.5. Cas d'étude 2 - avec notification
4.6. Nouveau modèle du compteur
Chapitre 5. Les entrées/sorties
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

4.1. Motivation et fonctionnement

Les trois premiers chapitres présentent les bases de la programmation orientée-objet. Une fois ces bases maîtrisées, il faut acquérir des automatismes pour programmer correctement de façon efficace. Pour cela, un certain nombres de schémas standards de programmation, appelés pattern, ont été identifiés. Ces patterns s'appliquent à des domaines très variés. Un d'entre eux s'applique à la création d'interfaces graphiques : Modèle/Vue/Contrôle (MVC).

Ce pattern, généralement attribué à Trygve Reenskaug du Xerox Parc, remonte aux années 70. Il a depuis subit de nombreuses variations et adaptations, ce n'est pas le but de rentrer trop dans le détail. Ce chapitre reprend les idées qui sont communes à la plupart de ces variations.

Il s'agit dans ce cours de distinguer les attributions des différents acteurs de l'informatique. On demande généralement à un informaticien industriel de se concentrer sur le modèle métier, c'est-à-dire le modèle qui relève de son domaine de compétence. Au dessus de ce modèle, si celui-ci le permet, on construira ensuite un modèle graphique et une infrastructure qui relève plus de l'Interface Homme Machine (IHM). Il arrive même que l'on ait besoin de construire plusieurs IHM pour les différents utilisateurs du système : le chef de projet, le responsable maintenance, les développeurs, etc.

Le modèle MVC distingue :

le modèle
Il peut se décomposer à son tour en modèle métier et modèle graphique. Il rassemble tout se qui est persistant dans le système, tout ce dont l'absence dénaturerait le système, tout ce qui ne peut pas être reconstruit.
Par exemple, si on prend l'exemple d'un système de contrôle de température, le modèle métier contient une ou plusieurs classes capables de gérer la température, le modèle graphique contient les informations sur la charte graphique à utiliser.
la vue
Elle présente à un utilisateur l'information contenue dans le modèle. La vue doit pouvoir être détruite et reconstuite à tout moment seulement à partir de l'information contenue dans le modèle.
Par exemple, la vue est constituée de figures (cercle, carré, texte, images) pour présenter le modèle mais la taille, la couleur des figures, le contenu des textes sont soit génériques pour le système, soit contenus dans le modèle graphique.
le contrôleur
Il définit quand et comment l'information est présentée à l'utilisateur, c'est lui qui choisit quelle vue est présentée en fonction du modèle, il capte les interactions de l'utilisateur (e.g., clics de souris) et les répercute sur le modèle et la vue. Pour cela, il doit s'intégrer à l'environnement graphique choisi. Java propose plusieurs environnements, nous allons présenter brièvement un d'entre eux : swing.

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante