Junior — Middle
Որ դիզայնի նմուշը կօգտագործեիք՝ օբյեկտի վարքագիծը ժամանակի օրվա հիման վրա հարմարեցնելու համար?
sobes.tech AI
Պատասխան AI-ից
Օրվա ժամանակի վրա հիմնված օբյեկտի վարքագծին հարմարեցնելու համար շատ հարմար է նախագծման "Երաշխիք" (Strategy) ձևանմուշը:
Իդեան այն է, որ դուք ունեք ընդհանուր վարքագծի ինտերֆեյս, իսկ կոնկրետ իրագործումները (strateji-ները) փոխվում են օրվա ժամանակի վրա՝ օրինակ, առավոտյան, ցերեկային և երեկոյան strateji-ներ:
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();
Այս մոտեցումը թույլ է տալիս հեշտությամբ փոխել օբյեկտի վարքագիծը առանց նրա կոդը փոխելու։