Назад к вопросам
Junior — Middle
62
В чем заключается назначение и применение паттерна Command в программировании?
Ответ от нейросети
sobes.tech AI
Паттерн Command предназначен для инкапсуляции запроса или операции в виде отдельного объекта. Это позволяет отделить отправителя команды от её исполнителя, а также реализовать такие возможности, как отложенное выполнение, отмена операций, логирование и очереди команд.
Применение паттерна удобно, когда нужно:
- Отложить выполнение операции.
- Реализовать отмену или повтор команд.
- Сформировать сложные последовательности операций.
- Упростить расширение функционала без изменения существующего кода.
Пример на Java:
// Интерфейс команды
interface Command {
void execute();
}
// Конкретная команда
class LightOnCommand implements Command {
private Light light;
public LightOnCommand(Light light) { this.light = light; }
public void execute() { light.turnOn(); }
}
// Получатель
class Light {
void turnOn() { System.out.println("Свет включен"); }
}
// Клиент
public class RemoteControl {
private Command command;
public void setCommand(Command command) { this.command = command; }
public void pressButton() { command.execute(); }
}