Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
departement_info:personnels:pb:pa3 [2025/06/07 13:18] – [Récapitulons] Brutus Philippe | departement_info:personnels:pb:pa3 [2025/06/26 16:45] (Version actuelle) – [Contrôle de connaissances] Brutus Philippe |
---|
Compléter le projet pour que les préférences lues dans le fichier alarmes.xml soient prises en compte. | Compléter le projet pour que les préférences lues dans le fichier alarmes.xml soient prises en compte. |
| |
Ce travail est à rendre par courrier électronique sous l'intitulé "TP07 NFP121" à l'adresse "philippe.brutus (à) caensup.fr" pour le 02/06/2025 à 8h00 avec en pièce jointe l'archive contenant les seuls fichiers modifiés ou ajoutés (dans leurs paquets respectifs). | Ce travail est à rendre par courrier électronique sous l'intitulé "TP08 NFP121" à l'adresse "philippe.brutus (à) caensup.fr" pour le 02/06/2025 à 8h00 avec en pièce jointe l'archive contenant les seuls fichiers modifiés ou ajoutés (dans leurs paquets respectifs). |
| |
---- | ---- |
Compléter {{:departement_info:personnels:pb:pa3:lst24.zip|cette version du projet}} pour que l'item "Nouvelle" du menu "Alarme" et le bouton "Nouvelle alarme" réalisent la même action en utilisant cette solution. | Compléter {{:departement_info:personnels:pb:pa3:lst24.zip|cette version du projet}} pour que l'item "Nouvelle" du menu "Alarme" et le bouton "Nouvelle alarme" réalisent la même action en utilisant cette solution. |
| |
Ce travail est à rendre par courrier électronique sous l'intitulé "TP08 NFP121" à l'adresse "philippe.brutus (à) caensup.fr" avec en pièce jointe l'archive contenant les seuls fichiers modifiés ou ajoutés (dans leurs paquets respectifs). | Ce travail est à rendre par courrier électronique sous l'intitulé "TP09 NFP121" à l'adresse "philippe.brutus (à) caensup.fr" avec en pièce jointe l'archive contenant les seuls fichiers modifiés ou ajoutés (dans leurs paquets respectifs). |
| |
{{:departement_info:personnels:pb:pa3:lst25.zip|Cette version du projet}} implante une commande pour les deux invocateurs. | {{:departement_info:personnels:pb:pa3:lst25.zip|Cette version du projet}} implante une commande pour les deux invocateurs. |
Compléter {{:departement_info:personnels:pb:pa3:lst26.zip|cette version du projet}} pour que l'item "Annuler" du menu "Edition" soit opérationnel en permettant de revenir en arrière plusieurs fois si possible. | Compléter {{:departement_info:personnels:pb:pa3:lst26.zip|cette version du projet}} pour que l'item "Annuler" du menu "Edition" soit opérationnel en permettant de revenir en arrière plusieurs fois si possible. |
| |
Ce travail est à rendre par courrier électronique sous l'intitulé "TP09 NFP121" à l'adresse "philippe.brutus (à) caensup.fr" avec en pièce jointe l'archive contenant les seuls fichiers modifiés ou ajoutés (dans leurs paquets respectifs). | Ce travail est à rendre par courrier électronique sous l'intitulé "TP10 NFP121" à l'adresse "philippe.brutus (à) caensup.fr" avec en pièce jointe l'archive contenant les seuls fichiers modifiés ou ajoutés (dans leurs paquets respectifs). |
| |
{{:departement_info:personnels:pb:pa3:lst27.zip|Cette version du projet}} implante un état dans la classe Alarme et définit une variable d'instance de type Gardien dans la classe Controleur pour stocker des Mémentos à l'ajout, la modification ou la suppression d'une alarme, ce qui permet de définir une méthode "annule" pour restaurer la situation précédente de la liste d'alarmes. | {{:departement_info:personnels:pb:pa3:lst27.zip|Cette version du projet}} implante un état dans la classe Alarme et définit une variable d'instance de type Gardien dans la classe Controleur pour stocker des Mémentos à l'ajout, la modification ou la suppression d'une alarme, ce qui permet de définir une méthode "annule" pour restaurer la situation précédente de la liste d'alarmes. |
| |
{{:departement_info:personnels:pb:pa3:carte_des_patrons.pdf|Carte des patrons de conception}}. | {{:departement_info:personnels:pb:pa3:carte_des_patrons.pdf|Carte des patrons de conception}}. |
| |
| ==== Introspection (réflexivité) ==== |
| |
| L'introspection pour un langage de programmation est la capacité à traiter non seulement du domaine dans lequel on écrit un programme mais aussi à traiter du programme lui-même. Elle confère aux langages qui en sont capables des possibilités inédites. |
| |
| L'introspection est rendue possible par les méthodes proposées dans les classes Object, Class, Field et Method du paquetage java.lang.reflect, dont les principales sont présentées dans {{:departement_info:personnels:pb:pa3:introspection.pdf|ce document}}. |
| |
| {{:departement_info:personnels:pb:pa3:introspection.zip|exemple d'introspection}} |
| |
| ==== Injection de dépendances ==== |
| |
| L'injection de dépendances applique le principe d'inversion de contrôle pour créer dynamiquement (injecter) les dépendances entre les différents objets en s'appuyant sur une description (fichier de configuration ou métadonnées) ou par programme. |
| |
| Elle est utile pour remplacer une classe par une autre, notamment pour la réalisation de tests unitaires avec des objets factices ([[http://easymock.org/|easymock]], [[https://site.mockito.org/|mockito]]). |
| |
| L'{{:departement_info:personnels:pb:pa3:injection_de_dépendances.pdf|injection de dépendances}} est expliquée dans l'[[https://martinfowler.com/articles/injection.html|article de Martin Fowler]] qui évoque les frameworks permettant d'en faire (Spring par exemple). |
| |
| |
==== Contrôle de connaissances ==== | ==== Contrôle de connaissances ==== |
images.displayImage(0); | images.displayImage(0); |
| |
| |
| {{:departement_info:personnels:pb:pa3:sujet1_2025.pdf|Le sujet}} et {{:departement_info:personnels:pb:pa3:corrigé1_2025.pdf|un corrigé}} de l'examen de première session de 2025 à Caen. |
| |
| |