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.