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