Académique Documents
Professionnel Documents
Culture Documents
Exercice 02 :
1) Le design pattern MVC : Modèle-Vue-Contrôleur ou MVC est un motif (pattern)
d'architecture logicielle destiné aux interfaces graphiques, lancé en 1978 et très populaire
pour les applications web. Le motif est composé de trois types de modules ayant trois
responsabilités différentes : les modèles, les vues et les contrôleurs.
Un modèle (Model) contient les données à afficher, et tout ce qui permet de les
modifier (getters, setters, etc.).
Une vue (View) contient la présentation de l'interface graphique.
Un contrôleur (Controller) traite les actions de l'utilisateur, modifie les données du
modèle et de la vue. C’est ici que sont la plupart des algorithmes, calculs, etc.
Le schéma suivant présente les interactions entre les différentes couches :
1/4
a) Le modèle (Model) : TaskModel.java
package model;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.util.List;
public TaskView() {
frame = new JFrame("To-Do List");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLayout(new FlowLayout());
frame.add(taskList);
frame.add(newTaskTextField);
frame.add(addButton);
frame.setVisible(true);
}
2/4
public String getNewTask() {
return newTaskTextField.getText();
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import model.TaskModel;
import view.TaskView;
3/4
d) La classe lanceur : On va maintenant créer la classe « main » de l'application.
package main;
import controller.TaskController;
import model.TaskModel;
import view.TaskView;
// Ajout de tâches
controller.addTask("Faire les courses");
controller.addTask("Répondre aux e-mails");
Remarques :
L'utilisation du pattern MVC permet une très bonne séparation des couches et facilite
l'ajout ou la modification de vues.
Par contre, elle nécessite un travail supplémentaire et augmente la quantité et la
complexité de code à écrire. Ce pattern n'est donc à conseiller que pour les moyennes et
grandes applications.
4/4