Junior — Middle
Qual pattern di progettazione applicheresti per adattare il comportamento di un oggetto in base all'ora del giorno?
sobes.tech AI
Risposta dell'AI
Per adattare il comportamento di un oggetto in base all'ora del giorno, il pattern di progettazione "Strategia" è molto adatto.
L'idea è di avere un'interfaccia di comportamento comune, e implementazioni specifiche (strategie) che cambiano a seconda dell'ora del giorno — ad esempio, strategie mattutine, diurni e serali.
Esempio in Java:
interface Behavior {
void execute();
}
class MorningBehavior implements Behavior {
public void execute() {
System.out.println("Buongiorno!");
}
}
class EveningBehavior implements Behavior {
public void execute() {
System.out.println("Buona sera!");
}
}
class Context {
private Behavior behavior;
public void setBehavior(Behavior behavior) {
this.behavior = behavior;
}
public void performBehavior() {
behavior.execute();
}
}
// Uso:
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
context.setBehavior(new MorningBehavior());
} else {
context.setBehavior(new EveningBehavior());
}
context.performBehavior();
Questo approccio permette di cambiare facilmente il comportamento dell'oggetto senza modificare il suo codice.