- 8 heures
- Moyenne
Ce cours est visible gratuitement en ligne.
course.header.alt.is_video
course.header.alt.is_certifying
J'ai tout compris !Mis à jour le 20/08/2024
Séparez les couches d’application avec le Modèle-Vue-Contrôleur
Compétences évaluées
- Refactoriser l’architecture d’une application
- Structurer du code Java avec l'architecture MVC
- Naviguer dans une architecture Modèle-Vue-Contrôleur (MVC)
Description
Les deux premières questions se réfèrent au code suivant :
private static void buildTableModel(JTable table) {
ResultSet rs = DroneDb.getResultSet("SELECT * from drones");
try {
ResultSetMetaData metaData = rs.getMetaData();
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int column = 1; column <= columnCount; column++) {
columnNames.add(metaData.getColumnName(column));
}
// data of the table
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
vector.add(rs.getObject(columnIndex));
}
data.add(vector);
}
table.setModel(new DefaultTableModel(data, columnNames));
} catch (SQLException e) {
e.printStackTrace();
}
}
Question 1
À quelle couche du MVC s’adresse-t-on dans l’exemple de code ci-dessus ?
Modèle
Vue
Contrôleur
Calculatrice
Question 2
Dans le segment de code ci-dessus, qu’est-ce qui fait que la fonction est difficile à tester de façon indépendante ?
Attention, plusieurs réponses sont possibles.Elle nécessite la construction de la couche visuelle.
Elle nécessite la construction de la couche de données.
Elle utilise des variables mal nommées.
La fonction n’est pas difficile à tester.
Question 3
Quel est l’objectif de la refactorisation ?
Ajouter une nouvelle user story à une application
Réparer du code qui a des bugs/défauts.
Explorer différentes décisions d’architecture avant de s’engager sur une conception.
Améliorer du code existant, tout en maintenant la même fonctionnalité.
- Formations jusqu’à 100 % financées
- Date de début flexible
- Projets professionnalisants
- Mentorat individuel