• 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 02/03/2022

Séparez les couches d’application avec le Modèle-Vue-Contrôleur

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Compétences évaluées

  • Naviguer dans une architecture Modèle-Vue-Contrôleur (MVC)
  • Structurer du code Java avec l'architecture MVC
  • Refactoriser l’architecture d’une application

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é.