konto usunięte

Temat: Event dispatcher

W sieci co prawda można znaleźć i poczytać co nie co na ten temat, nie mniej mam wrażenie, są to dość ogólne informacje. Brakuje tzw. "dobrych praktyk". Chciałbym poznać wasze pomysły na wykorzystanie tego ustrojstwa w waszych projektach.

konto usunięte

Temat: Event dispatcher

Ja wykorzystuje event dispatcher do usuwania cache dla konkretnych modułów lub modeli danych.

Użyłem też dispatchera do regulowania kwestii co pokazywać w formularzach, a co nie, np. w ten sposób wymusiłem, że zmiane ownera danej encji można wykonać tylko jako osoba z określonymi uprawnieniami. (event inicjalizujący form'a).

Generalnie obsługa zdarzeń najlepiej sprawdza się jako sposób na centralizację pewnych zachowań i obługę w konkretnej klasie.

Wysłanie maila po jakimś zdarzeniu lub akcji to kolejny przykład operacji, które niejako działają w tle i fajnie jest dodać kod obsługi w jednym miejscu.

Twórcy symfony pisali coś o eventach w kontekście np. aktualizacji stanu konta usera po jakiejs akcji typu kup itd.

Innym podejściem jest stosowanie event dispatcherów jako pewnego rodzaju filter chainów, czyli dany obiekt ma kilka elementów preprocessingu, które są implementowane przez różne klasy nasłuchujące.

Odnośnie tego, przychodzi mi tylko do głowy przetwarzanie zdjęcia na zasadzie wysyłasz event typu utworzono obiekt graficzny, ktory w kolejnych krokach filter dodaje zaokrąglone rogi, znak wodny, oraz miniatury w różnych wielkościach, zwracając ostatecznie obiekt do zapisu.

Nie da się ukryć, że stosowanie eventów musi być zamierzone i trzeba pamiętać co gdzie jest obsługiwane bo debugowanie może być koszmarem.

Podobne tematy


Następna dyskusja:

Symfony2 - Event Listener




Wyślij zaproszenie do