Junior — Middle
Ce model de proiectare ai folosi pentru a adapta comportamentul unui obiect în funcție de ora zilei?
sobes.tech AI
Răspuns de la AI
Pentru a adapta comportamentul unui obiect în funcție de ora zilei, modelul de proiectare "Strategia" este foarte potrivit.
Ideea este că aveți o interfață comună de comportament, iar implementările specifice (strategiile) se schimbă în funcție de ora zilei — de exemplu, strategii matinale, de zi și de seară.
Exemplu în Java:
interface Behavior {
void execute();
}
class MorningBehavior implements Behavior {
public void execute() {
System.out.println("Bună dimineața!");
}
}
class EveningBehavior implements Behavior {
public void execute() {
System.out.println("Bună seara!");
}
}
class Context {
private Behavior behavior;
public void setBehavior(Behavior behavior) {
this.behavior = behavior;
}
public void performBehavior() {
behavior.execute();
}
}
// Utilizare:
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
context.setBehavior(new MorningBehavior());
} else {
context.setBehavior(new EveningBehavior());
}
context.performBehavior();
Această abordare permite schimbarea ușoară a comportamentului obiectului fără a modifica codul său.