Junior — Middle
Kuru dizaina paraugu jūs izmantotu, lai pielāgotu objekta uzvedību atkarībā no dienas laika?
sobes.tech AI
Atbilde no AI
Lai pielāgot objekta uzvedību atkarībā no dienas laika, ļoti piemērots ir "Stratēģijas" dizaina paraugs.
Ideja ir tāda, ka jums ir kopēja uzvedības saskarne, un konkrētas realizācijas (stratēģijas) mainās atkarībā no dienas laika — piemēram, rīta, dienas un vakara stratēģijas.
Piemērs Java:
interface Behavior {
void execute();
}
class MorningBehavior implements Behavior {
public void execute() {
System.out.println("Labrīt!");
}
}
class EveningBehavior implements Behavior {
public void execute() {
System.out.println("Labvakar!");
}
}
class Context {
private Behavior behavior;
public void setBehavior(Behavior behavior) {
this.behavior = behavior;
}
public void performBehavior() {
behavior.execute();
}
}
// Lietošana:
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
context.setBehavior(new MorningBehavior());
} else {
context.setBehavior(new EveningBehavior());
}
context.performBehavior();
Šis pieeja ļauj viegli mainīt objekta uzvedību, nemainot tā kodu.