Junior — Middle
Koji obrazac dizajna biste primenili da prilagodite ponašanje objekta u zavisnosti od doba dana?
sobes.tech АИ
Одговор од АИ
Za prilagođavanje ponašanja objekta u zavisnosti od doba dana, šablon dizajna "Strategija" je veoma pogodan.
Ideja je da imate zajednički interfejs ponašanja, a konkretne implementacije (strategije) se menjaju u zavisnosti od doba dana — na primer, jutarnje, dnevne i večernje strategije.
Primer u Javi:
interface Behavior {
void execute();
}
class MorningBehavior implements Behavior {
public void execute() {
System.out.println("Dobro jutro!");
}
}
class EveningBehavior implements Behavior {
public void execute() {
System.out.println("Dobro veče!");
}
}
class Context {
private Behavior behavior;
public void setBehavior(Behavior behavior) {
this.behavior = behavior;
}
public void performBehavior() {
behavior.execute();
}
}
// Upotreba:
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
context.setBehavior(new MorningBehavior());
} else {
context.setBehavior(new EveningBehavior());
}
context.performBehavior();
Ovaj pristup omogućava lako menjanje ponašanja objekta bez modifikacije njegovog koda.