Développement logiciel et gestion de projet

Quel patron de conception du GoF fait en sorte que les objets qui dépendent d'un objet soient avertis automatiquement quand l'état de cet objet change ?

  1. AObserver (observateur)
  2. BSingleton
  3. CAdapter (adaptateur)
Afficher la réponse et l'explication

Réponse : A. Observer (observateur)

Dans le patron Observer, l'objet qui notifie (le sujet) conserve une liste des objets inscrits qui veulent être notifiés (les observateurs) et les avertit tous quand son état change. Le sujet n'a pas besoin de connaître les classes concrètes des observateurs, ce qui garde un couplage faible. On peut par exemple l'utiliser dans une conception qui avertit les traitements d'affichage, de journalisation et d'alarme quand la valeur d'un capteur change. Singleton est un patron qui garantit qu'une classe n'a qu'une seule instance, et Adapter un patron qui convertit une interface incompatible pour que des classes puissent fonctionner ensemble.

S'entraîner sur ce thème Retour au thème

Autres questions sur Développement logiciel et gestion de projet

  1. Quand on applique un outil d'analyse statique au code source d'un micrologiciel, quel problème est-il le plus apte à trouver sans exécuter le programme ?
  2. Quelle description du test boîte noire est correcte ?
  3. Un champ de saisie n'accepte que des entiers ; les valeurs de 1 à 100 inclus sont acceptées et toutes les autres provoquent une erreur. Quand on découpe l'entrée par partitionnement en classes d'équivalence, combien y a-t-il de classes d'équivalence au total (classes valides et invalides confondues) ?
  4. Un programme fixe le prix d'entrée selon l'âge (un entier supérieur ou égal à 0) : de 0 à 17 ans, tarif enfant ; de 18 à 64 ans, tarif adulte ; à partir de 65 ans, tarif senior. Quel jeu de valeurs de test est le plus approprié pour que l'analyse des valeurs limites vérifie les frontières où la catégorie de tarif change ?
  5. La spécification dit « émettre un avertissement si la température est de 85 °C ou plus », mais le micrologiciel contient par erreur « if (t > 85) ». La température t est un entier. Laquelle des valeurs de test suivantes permet de détecter cette erreur ?