Sobes.tech
Junior — Middle

Môžete vysvetliť, čo sa rozumie pod pojmom 'udalosť' v kontexte vývoja softvéru?

sobes.tech AI

Odpoveď od AI

V programovaní je udalosť signál alebo oznámenie o tom, že došlo k nejakej akcii alebo zmene stavu, na ktorú môže program reagovať.

V kontexte C# je udalosť zvyčajne spojená s delegátmi a slúži na implementáciu vzoru "pozorovateľ". Objekt, ktorý generuje udalosť (vysielač), informuje ostatné objekty (predplatiteľov) o udalosti, ktorá nastala, volaním príslušných handlerov.

Príklad:

public class Button
{
    public event EventHandler Click;

    public void OnClick()
    {
        Click?.Invoke(this, EventArgs.Empty);
    }
}

// Použitie
Button button = new Button();
button.Click += (sender, e) => Console.WriteLine("Tlačidlo stlačené");
button.OnClick();

Týmto spôsobom umožňuje udalosť oddeliť zdroj udalosti od handlerov, čím zabezpečuje flexibilnú architektúru aplikácie.