Junior — Middle
Можете ли да обясните какво се разбира под термина 'събитие' в контекста на разработката на софтуер?
sobes.tech AI
Отговор от AI
В програмирането събитие е сигнал или уведомление, че е настъпило някакво действие или промяна в състоянието, към която програмата може да реагира.
В контекста на C# събитието обикновено е свързано с делегати и се използва за реализиране на патърна "наблюдател". Обект, който генерира събитие (издател), уведомява други обекти (подписчици) за настъпилото събитие, като извиква съответните обработчици.
Пример:
public class Button
{
public event EventHandler Click;
public void OnClick()
{
Click?.Invoke(this, EventArgs.Empty);
}
}
// Използване
Button button = new Button();
button.Click += (sender, e) => Console.WriteLine("Бутонът е натиснат");
button.OnClick();
По този начин събитието позволява да се отдели източникът на събитието от обработчиците, осигурявайки гъвкава архитектура на приложението.