Back to questions
Junior — Middle
60
Можете объяснить, что подразумевается под паттерном команда в программировании?
Answer from AI
sobes.tech AI
Паттерн "Команда" (Command) — это поведенческий шаблон проектирования, который инкапсулирует запрос в виде объекта, позволяя параметризовать клиентов с разными запросами, ставить запросы в очередь или логировать их, а также поддерживать отмену операций.
Основная идея — отделить объект, вызывающий операцию, от объекта, который её выполняет. Команда содержит всю информацию, необходимую для выполнения действия, включая метод и параметры.
Пример на C#:
// Интерфейс команды
public interface ICommand
{
void Execute();
}
// Конкретная команда
public class LightOnCommand : ICommand
{
private Light _light;
public LightOnCommand(Light light) { _light = light; }
public void Execute() { _light.TurnOn(); }
}
// Получатель
public class Light
{
public void TurnOn() { Console.WriteLine("Свет включен"); }
}
// Клиент
var light = new Light();
ICommand command = new LightOnCommand(light);
command.Execute();
Такой подход упрощает расширение и поддержку кода, особенно при реализации сложных сценариев управления.