Mechanizm sygnałów i slotów
Mechanizm sygnałów i slotów to jedna z metod zorganizowania rozsyłania zdarzeń w aplikacjach komputerowych, głównie wykorzystywana w graficznych interfejsach użytkownika.
Jest to jedna ze specjalizacji metody wywołań zwrotnych. Wywołanie zwrotne jest realizowane w momencie nadejścia zdarzenia, a jego rezultatem jest wywołanie instrukcji, które zostały zarejestrowane jako procedury obsługi zdarzenia. Tę rejestrację nazywamy połączeniem sygnału ze slotem.
Sygnały w ogólności dzielą się na dwie kategorie: unicast i multicast. Sygnały typu unicast mogą mieć podłączony dokładnie jeden slot. Natomiast sygnały typu multicast mogą mieć podpiętą dowolną liczbę slotów, a emisja sygnału powoduje wywołanie wszystkich slotów po kolei, zazwyczaj w niezdefiniowanej kolejności.
Mechanizm ten jest zaimplementowany w większości popularnych bibliotek GUI, np. Boost, GTK+, gtkmm, Qt, wxWidgets. Biblioteki te jednak dostarczają jedynie sygnały typu multicast. Do implementacji tego mechanizmu można zaliczyć również delegaty występujące w języku C#.
Linki zewnętrzne
[edytuj | edytuj kod]- Dokumentacja biblioteki Boost.Signals. boost.org. [zarchiwizowane z tego adresu (2006-02-19)].
- Dokumentacja sygnałów i slotów w Qt. doc.trolltech.com. [zarchiwizowane z tego adresu (2007-05-15)].
- Strona domowa GTK+
- Strona domowa libsigc++, implementacji mechanizmu sygnałów i slotów