JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Детальный разбор подписки ( +=)

    C# SELF
    53 уровень,0 лекция
    Разбираем, как работает подписка на события в C#: что такое мультикаст-делегаты и их invocation list, как компилятор разворачивает +=/ -= в вызовы Delegate. Combine/ Remove, чем защищает нас ключевое слово event и какие ловушки встречаются при множественных подписках и лямбдах. Всё на практических примерах с EventHandler и разбором нюансов.
    Открыта
  • Отписка от событий ( -=) и утечки памяти

    C# SELF
    53 уровень,1 лекция
    В этой лекции разберём, почему забытая подписка на событие приводит к утечкам памяти в .NET, как правильно отписываться оператором -=, где и когда делать отписку (включая реализацию IDisposable), как безопасно работать с лямбда-выражениями и какие типичные ошибки допускают разработчики при работе с событиями.
    Открыта
  • Подписчики и безопасный вызов событий

    C# SELF
    53 уровень,2 лекция
    Разбираем, как работают подписки на события в C#: добавление и удаление обработчиков, что скрывается за делегатами и списком вызова, почему важно отписываться, и как безопасно вызывать события в многопоточном коде. Поговорим о ловушках (исключения в обработчиках, гонки данных) и практических приёмах: локальная копия делегата, перебор через GetInvocationList(), одноразовые подписки и массовая отписка.
    Открыта
  • Паттерн "Наблюдатель" ( Observer)

    C# SELF
    53 уровень,3 лекция
    В этой лекции разберём паттерн проектирования Observer: как отделить издателя от подписчиков, чтобы не нарушать OCP, и как это элегантно реализовано в C# через события и делегаты. Сравним «ручную» реализацию с интерфейсами и списком наблюдателей с вариантом на событиях ( EventHandler<T>), подключим несколько слушателей к Worker, обсудим плюсы и типичные ловушки (утечки из‑за неотписавшихся подписчиков, двойная подписка, исключения в обработчиках), а также визуализируем частую схему утечек.
    Открыта
  • Практические сценарии и лучшие практики

    C# SELF
    53 уровень,4 лекция
    В этой лекции рассмотрим реальные сценарии использования событий в .NET: реакцию на действия пользователя, уведомления о прогрессе и завершении операций, события жизненного цикла доменных объектов, работу в многопоточной среде (маршалинг через SynchronizationContext/ Dispatcher) и паттерн Event Aggregator. Обсудим лучшие практики: стандартные делегаты EventHandler/ EventHandler<T>, неизменяемые EventArgs, безопасный вызов через ?.Invoke, инкапсуляцию через OnEventName, отписку и предотвращение утечек, а также thread-safety.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush