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