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.