2009-08-31 13 views

Odpowiedz

13

Przepełnienie zdarzeń to idea przesuwania się informacji w głąb głębokiej struktury, gdy właściwy projekt nakazuje, aby normalnie informacje płynęły tylko w dół.

W bardzo podstawowych kategoriach, pomyśl o jednym obiekcie. Właściwie zaprojektowany obiekt powinien wiedzieć tylko o swoich obiektach podrzędnych. Nie powinien mieć bezpośredniej interakcji z rodzicem. Z kolei jego obiekty potomne i macierzyste powinny być zgodne z tymi samymi zasadami. W efekcie oznacza to, że informacje mogą płynąć tylko w dół - rodzic może wywołać metodę, wysłać dane do lub wyodrębnić dane ze swojego dziecka, ale dziecko nie może przymusowo zrobić tego samego dla swojego rodzica.

Pomyśl o tym, co się stanie, gdy dmuchniesz pod bańką powietrza - nie musisz pchnąć powietrze w kierunku powierzchni - po prostu zwolnij i porusza się samodzielnie. Ta sama koncepcja dotyczy bulgoczenia zdarzeń - głębsze kontrole po prostu "uwalniają" swoje informacje - zwykle za pośrednictwem zdarzenia - i "pływają" w górę łańcucha bez bezpośredniego wywoływania czegokolwiek.

Jeśli chodzi o stronę internetową, taką jak Stackoverflow (lub praktycznie każda strona), pojęcie bulgotania jest takie samo. Oczywiście każdy pojedynczy wpis nie powinien bezpośrednio umieszczać się na stronie głównej, ale kiedy pojedynczy post został zaktualizowany, wydarzenie to jest wypuszczane z najgłębszego punktu w hierarchii - jednego postu - i unosi się do końcowego poziomu, gdzie jest rozpatrywane (wybór, czy wyświetlić na stronie głównej).

+0

Bardzo zwięzła odpowiedź. –

+1

@Kirk, to jest * dobra * odpowiedź, ale myślę, że twoja definicja zwięzłości różni się od mojej :-) Zwięzłe byłyby "zdarzenia lub odpowiedzi unoszące się na górę bez wysiłku, takie jak bąbelki powietrza w wodzie". – paxdiablo

+0

@Kirk @Pax Myślałem o tym samym :) Doceniam komplement, ale nawet żałuję, że ta odpowiedź nie była krótsza. Czasami denerwują mnie moje wyjaśnienia. –

3

Jeśli pytasz o termin, wydaje mi się, że jest to analogia do zdarzenia "bulgoczącego" do góry, tak jak bąbelek powietrza w cieczy.

Jeśli chcesz zapytać o to, co to jest propagacja zdarzenia, jest to zdarzenie przechwytywane przez jeden obiekt, który będzie odnawiać go do innych obiektów, które go słuchają.

Cytując dobry artykuł here

... techniki zwanej zdarzenie propagacji który umożliwia sterowanie dziecko propagować wydarzenia swój powstrzymywanie hierarchii. bulgotanie zdarzenie umożliwia wydarzenia zostać zwiększona z bardziej dogodnej lokalizacji w kontrolach hierarchii i umożliwia obsługi zdarzeń do być dołączone do oryginalnej kontroli jako również do sterowania, który naraża pęcherzykami wydarzenie.