Junior — Middle
რომელი დიზაინის ნიმუში გამოიყენებდით ობიექტის ქცევის ადაპტაციისთვის დროის დღით?
sobes.tech AI
პასუხი AI-სგან
დღის დროის მიხედვით ობიექტის ქცევის ადაპტაციისთვის, დიზაინის ნიმუში "სტრატეგია" ძალიან შესაფერისია.
მოსაზრება ის არის, რომ გაქვთ საერთო ქცევის ინტერფეისი, ხოლო კონკრეტული რეალიზაციები (სტრატეგიები) იცვლება დღის დროის მიხედვით — მაგალითად, დილა, დღის და საღამოს სტრატეგიები.
Java-ში მაგალითი:
interface Behavior {
void execute();
}
class MorningBehavior implements Behavior {
public void execute() {
System.out.println("დილა მშვიდობის!");
}
}
class EveningBehavior implements Behavior {
public void execute() {
System.out.println("საღამო მშვიდობის!");
}
}
class Context {
private Behavior behavior;
public void setBehavior(Behavior behavior) {
this.behavior = behavior;
}
public void performBehavior() {
behavior.execute();
}
}
// გამოყენება:
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
context.setBehavior(new MorningBehavior());
} else {
context.setBehavior(new EveningBehavior());
}
context.performBehavior();
ეს მიდგომა საშუალებას გაძლევთ ადვილად შეცვალოთ ობიექტის ქცევა მისი კოდის შეცვლის გარეშე.