Глосарій

Command Pattern

Command — патерн, що інкапсулює запит у вигляді об'єкта. Відправник не знає, хто і як виконає команду — він просто викликає execute(). Це дозволяє ставити команди в чергу, логувати, скасовувати (undo).

Учасники

Приклад

interface Command {
  public function execute(): void;
  public function undo(): void;
}

class SendEmailCommand implements Command {
  public function execute(): void { /* відправити */ }
  public function undo(): void { /* скасувати */ }
}

class CommandBus {
  private array $history = [];
  public function dispatch(Command $cmd): void {
    $cmd->execute();
    $this->history[] = $cmd;
  }
}

Де використовується

CQRS (Command Bus), черги задач, транзакційний скрипт, undo/redo в редакторах.