У цій лекції розглянемо реальні сценарії використання подій у .NET: реакцію на дії користувача, сповіщення про прогрес і завершення операцій, події життєвого циклу доменних об’єктів, роботу в багатопоточному середовищі (маршалінг через
SynchronizationContext/
Dispatcher) та патерн
Event Aggregator. Обговоримо найкращі практики: стандартні делегати
EventHandler/
EventHandler<T>, незмінні
EventArgs, безпечний виклик через
?.Invoke, інкапсуляцію через
OnEventName, відписку і запобігання витокам, а також потокобезпечність.