Synthèse MVC
Que signifie MVC :
MVC (Model View Controller) permet d'organiser le code de l'application en trois parties :
-
La vue se charge de la présentation de l'IHM, avant et après chargement des données : menus, formulaires et affichages des résultats. Elle correspond à ce que l'utilisateur voit de l'application.
-
Le modèle gère l’accès aux données : connexion et interface avec la base de données, requêtes SQL : lecture, écriture, ajout, suppression, mise à jour des données dans les tables de la base de données ⇒ CRUD.
-
Le contrôleur traite la gestion des événements : synchronisation vue/modèle. Il gère les interactions Vue/Modèle, reçoit et traite tous les événements déclenchés par l'utilisateur (clic, sélection...), sollicite les données gérées par le modèle, provoque l'affichage des résultats par les vues.
La Synthèse du travail :
-
Tout d'abord nous avons fait la création de 2 classes, Club.java et Licencie.java dans un package "classes". Puis nous avons testé ces différentes classes dans un nouveau package avec TestClub.java et TestLicencie.java.
-
Avec ces deux étapes nous avons réalisé la couche Métier (correspond à la définition des classes métier). Après cela nous avons fait la couche d'Accès aux Données (correspond à toutes les méthodes d'accès aux données)
-
Donc pour la couche d'Accès aux Données, nous avons accès à la base de donnée, donc on a créé un nouveau schéma qui ce nomme "mvc". Puis nous avons fait la création des deux tables (Club et Licencie) sous PostgreSql et l'insertion des données de ces tables
-
Ensuite, nous avons fait un nouveau package nommé "dao", dans ce package nous avons créé une nouvelle classe( ConnexionPostgreSql.java), pour la connexion à la base de donnée et donc accéder aux données.
-
Par la suite, Étant donné que pour chaque table – à laquelle on souhaite accéder – les méthodes sont les mêmes → CRUD(Ecriture/Lecture/MAJ/Suppression), on va alors définir une classe(DAO.java) générique. Cette classe – qui sera donc abstraite - listera les méthodes CRUD pour n'importe quel objet.
-
Dans cette classe, nous avons vue une nouvelle forme de classe avec une classe qui utilise la généricité c'est à dire qu'elle utiliser n'importe quel objet, avec comme syntaxe :
NomClasse<T>
. -
Nous avons aussi fait une méthode abstraite recupAll, qui va permettre de lire (récupérer) tous les enregistrements d’une table.
-
Après avoir créer la classe DAO, nous avons fait la classe ClubDAO.java, qui va récupérer les méthode de la classe DAO et donc les modifier selon les champs de la classe club.java. Puis nous avons fait pareil pour la classe Licencie avec comme nom LicencieDAO.java.
-
Pour finir ce travail, nous avons fait dans le package test, une nouvelle classe testDAO.java qui va faire les différents tests de la couche DAO.