Sobes.tech
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();

Այս մոտեցումը թույլ է տալիս հեշտությամբ փոխել օբյեկտի վարքագիծը առանց նրա կոդը փոխելու։