Cz.8 Zdarzenia
Refleksja – przypomnienie Event Programowanie zdarzeniowe Do dzieła!
Co to jest refleksja? Jak pobrać wszystkie publiczne pola? Atrybuty
Delegat Wskaźnik na funkcję Element klasy Pozwala przypisywać metody
Konsola - sekwencyjne wykonywanie kodu Jeden wątek Komunikacja ze światem zewnętrznym Wiele wątków Coś się może zmieniać poza nami Brak sekwencyjności
Reagujemy na zewnętrzne zdarzenia Kliknięcie myszką Pracę innego wątku Interaktywność Rozdzielenie interfejsu użytkownika od logiki Button: OnClick() {Universe.Create();} Button2: OnClick() {Universe.Destroy();}
public class Computation { public event EventHandler ComputationStarted; private void Start(){} } Window(){ bStop.Click += new EventHandler(bStop_Click); bStart.Click += new EventHandler(bStart_Click); bLoad.Click += new EventHandler(bLoad_Click); cl.ComputationStarted += new EventHandler(OnComputationStarted); cl.ComputationStarted += new EventHandler(Send ); cl.ComputationStarted += new EventHandler(WaitFewSecondsThenDestroyUnivesre); }
Obserwator (ang. observer) – w informatyce: wzorzec należący do grupy wzorców czynnościowych. Używany jest do powiadamiania zainteresowanych obiektów o zmianie stanu pewnego innego obiektu. Wyróżniamy subject i listener bStop.Click += new EventHandler(bStop_Click);
Napisz klasę która informuje słuchaczy o zmianach wartości property Napisz program który będzie informował otoczenie o zmianach konfiguracji (załadowanie pliku konfiguracyjnego, zmiana, zapisanie, stworzenie, wczytanie itd.)