Outils pour utilisateurs

Outils du site


departement_info:personnels:pb:pa3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
departement_info:personnels:pb:pa3 [2025/06/07 13:18] – [Récapitulons] Brutus Philippedepartement_info:personnels:pb:pa3 [2025/06/26 16:45] (Version actuelle) – [Contrôle de connaissances] Brutus Philippe
Ligne 458: Ligne 458:
 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).
  
 ---- ----
Ligne 480: Ligne 480:
 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.
Ligne 496: Ligne 496:
 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.
Ligne 505: Ligne 505:
  
 {{: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 ====
Ligne 598: Ligne 615:
  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.
  
  
departement_info/personnels/pb/pa3.1749302294.txt.gz · Dernière modification : 2025/06/07 13:18 de Brutus Philippe

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki