Sobes.tech
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.