Listener یا لسنر تابع یا کلاسی است که به وقوع یک رویداد واکنش میدهد. در معماری رویدادمحور، سرویس ثبت سفارش رویداد OrderPlaced را منتشر میکند و لسنر اعلان مشتری یا بهروزرسانی موجودی را انجام میدهد.
مثال لاراول
use Illuminate\Contracts\Queue\ShouldQueue;
class SendOrderEmail implements ShouldQueue {
public function handle(OrderPlaced $event): void {
Mail::to($event->order->email)->send(new OrderPlacedMail($event->order));
}
}
مثال JavaScript
const events = new EventTarget();
events.addEventListener('order:placed', (event) => console.log('New order'));
events.dispatchEvent(new Event('order:placed'));
نکته فنی
صرف پیادهسازی ShouldQueue بدون تنظیم Queue Worker و اتصال صف، اجرای پسزمینه واقعی را تضمین نمیکند.
اصطلاحات مرتبط: رویداد، معماری رویدادمحور، صف، جاب، مسیج بروکر.