Junior — Middle
Welke ontwerppatroon zou je toepassen om het gedrag van een object aan te passen afhankelijk van het tijdstip van de dag?
sobes.tech AI
Antwoord van AI
Om het gedrag van een object aan te passen op basis van het tijdstip van de dag, is het "Strategie"-patroon zeer geschikt.
Het idee is dat je een gemeenschappelijke gedragsinterface hebt, en dat specifieke implementaties (strategieën) veranderen afhankelijk van het tijdstip — bijvoorbeeld ochtend-, middag- en avondstrategieën.
Voorbeeld in Java:
interface Behavior {
void execute();
}
class MorningBehavior implements Behavior {
public void execute() {
System.out.println("Goedemorgen!");
}
}
class EveningBehavior implements Behavior {
public void execute() {
System.out.println("Goedenavond!");
}
}
class Context {
private Behavior behavior;
public void setBehavior(Behavior behavior) {
this.behavior = behavior;
}
public void performBehavior() {
behavior.execute();
}
}
// Gebruik:
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
context.setBehavior(new MorningBehavior());
} else {
context.setBehavior(new EveningBehavior());
}
context.performBehavior();
Deze aanpak maakt het gemakkelijk om het gedrag van het object te wijzigen zonder de code ervan te veranderen.