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

Et si vous obteniez un diplôme OpenClassrooms ?
  • Formations jusqu’à 100 % financées
  • Date de début flexible
  • Projets professionnalisants
  • Mentorat individuel
Trouvez la formation et le financement faits pour vous