Инкапсулирует запрос как объект: действие + параметры. Позволяет ставить операции в очередь, отменять, логировать.
interface Command { public function execute(): void; }
class CreateOrderCommand implements Command {
public function __construct(private OrderService $service, private OrderDTO $dto) {}
public function execute(): void { $this->service->create($this->dto); }
}
$bus->dispatch(new CreateOrderCommand($service, $dto));Используется в очередях (Laravel Jobs, Symfony Messenger), Undo/Redo, макросах.