Sobes.tech
Junior — Middle
112

¿Puedes dar un ejemplo de cuándo se aplica el patrón de comando en el código?

Respuesta de la IA

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(); // Выведет: Свет включен
    }
}

Такой подход позволяет отделить объект, вызывающий операцию, от объекта, который её выполняет.