Sobes.tech
Junior — Middle
109

Pouvez-vous donner un exemple où le motif de commande est utilisé dans le code?

Réponse de l'IA

sobes.tech IA

Паттерн "Команда" (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(); // Выведет: Свет включен
    }
}

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