7.11. Tworzenie systemów luźno powiązanych przy użyciu odwołań zwrotnych

Problem

Chcemy zorganizować współpracę dwóch obiektów, bez sztywnego ich kojarzenia w kodzie aplikacji.

Rozwiązanie

Do tego celu idealnie nadaje się system odwołań zwrotnych (callbacks), polegający na tym, że obiekty rejestrują bloki kodowe po to, by były one wywoływane w określonych okolicznościach. W szczególności obiekt może wywoływać zarejestrowane bloki kodowe w celu uzyskania jakiejś informacji, bądź w celu poinformowania systemu o zaistniałym zdarzeniu.

Aby zaimplementować system odwołań zwrotnych, musimy najpierw stworzyć metodę, nazwaną sugestywnie register, subscribe lub podobnie, akceptującą blok kodowy w roli parametru. Procedura ta powinna przekształcać ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.