Junior — Middle
Quel patron de conception appliqueriez-vous pour adapter le comportement d'un objet en fonction du moment de la journée?
sobes.tech IA
Réponse de l'IA
Pour adapter le comportement d’un objet en fonction de l’heure de la journée, le patron de conception "Stratégie" est très approprié.
L’idée est que vous avez une interface de comportement commune, et des implémentations spécifiques (stratégies) qui changent en fonction du moment de la journée — par exemple, stratégies matinales, diurnes et nocturnes.
Exemple en Java :
interface Behavior {
void execute();
}
class MorningBehavior implements Behavior {
public void execute() {
System.out.println("Bonjour !");
}
}
class EveningBehavior implements Behavior {
public void execute() {
System.out.println("Bonsoir !");
}
}
class Context {
private Behavior behavior;
public void setBehavior(Behavior behavior) {
this.behavior = behavior;
}
public void performBehavior() {
behavior.execute();
}
}
// Utilisation :
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
context.setBehavior(new MorningBehavior());
} else {
context.setBehavior(new EveningBehavior());
}
context.performBehavior();
Cette approche permet de changer facilement le comportement de l’objet sans modifier son code.