Junior — Middle
Vai vari sniegt piemēru, kad kodā tiek piemērots komandas modelis?
sobes.tech AI
Atbilde no AI
Komandas (Command) modeļa izmanto, kad vajadzības gadījumā pieņemtu pieprasījumu kā objektu, kas ļauj parametrizēt objektus ar operācijām, likt operācijas rindā, reģistrēt tās vai atbalstīt atsaukšanu.
Piemērs Java: dažādu darbību veicēja pogas īstenošana.
// Komandas interfeiss
interface Command {
void execute();
}
// Konkrēta komanda
class LightOnCommand implements Command {
Light light;
LightOnCommand(Light light) { this.light = light; }
public void execute() { light.on(); }
}
// Saņēmējs
class Light {
void on() { System.out.println("Gaisma ieslēgta"); }
void off() { System.out.println("Gaisma izslēgta"); }
}
// Iniciators
class RemoteControl {
private Command slot;
void setCommand(Command command) { slot = command; }
void pressButton() { slot.execute(); }
}
// Lietošana
public class Client {
public static void main(String[] args) {
Light light = new Light();
Command lightOn = new LightOnCommand(light);
RemoteControl remote = new RemoteControl();
remote.setCommand(lightOn);
remote.pressButton(); // Rezultāts: Gaisma ieslēgta
}
}
Šī pieeja ļauj atdalīt operāciju izsaucēju no tās izpildītāja.