Глосарій

Domain Events (Доменні події)

Domain Event — факт, що стався в бізнес-домені: OrderPlaced, PaymentFailed, UserRegistered. Іменується у минулому часі, бо описує те, що вже відбулось. Центральний концепт DDD і Event-Driven Architecture.

Чим відрізняється від звичайної події

Технічна подія: ButtonClicked, FileUploaded. Доменна подія: InvoiceApproved, SubscriptionExpired — несе бізнес-значення і є частиною ubiquitous language.

Навіщо використовувати

Приклад

class OrderPlaced {
  public function __construct(
    public readonly string $orderId,
    public readonly string $userId,
    public readonly Money  $total,
    public readonly \DateTimeImmutable $occurredAt,
  ) {}
}

// Після успішного збереження:
EventDispatcher::dispatch(new OrderPlaced($order->id, ...));