Sobes.tech
Junior — Middle

Qaysi dizayn shablonini qo'llaysiz, ob'ektning harakatini kun vaqtiga qarab moslashtirish uchun?

sobes.tech AI

AIdan javob

Vaqtga qarab ob'ektning xulq-atvorini moslashtirish uchun "Stratejiya" dizayn shabloni juda mos keladi.

G'oya shundaki, siz umumiy xulq-atvor interfeysiga egasiz va aniq amalga oshirishlar (stratejiyalar) kunning vaqtiga qarab o'zgaradi — masalan, ertalabki, kunduzgi va kechki strategiyalar.

Java'da misol:

interface Behavior {
    void execute();
}

class MorningBehavior implements Behavior {
    public void execute() {
        System.out.println("Xayrli tong!");
    }
}

class EveningBehavior implements Behavior {
    public void execute() {
        System.out.println("Xayrli kech!");
    }
}

class Context {
    private Behavior behavior;

    public void setBehavior(Behavior behavior) {
        this.behavior = behavior;
    }

    public void performBehavior() {
        behavior.execute();
    }
}

// Foydalanish:
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
    context.setBehavior(new MorningBehavior());
} else {
    context.setBehavior(new EveningBehavior());
}
context.performBehavior();

Bu yondashuv ob'ektning xulq-atvorini osonlik bilan o'zgartirish imkonini beradi, uning kodini o'zgartirmasdan.