Zpo-12-wyk-Slajd32

Z Studia Informatyczne
Wersja z dnia 07:40, 21 sie 2006 autorstwa Bwalter (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Przykład: aspekt logujący wywołania metod

Przykład: aspekt logujący wywołania metod


Na slajdzie przedstawiono przykład wspomnianego wcześniej aspektu służącego do logowania wywołań metod w kodzie programu. Aspekt Logger definiuje jeden punkt cięcia o nazwie wywołanieMetody (). Dotyczy on wywołań wszystkich metod o dowolnym zasięgu widoczności, typie, znajdujących się w dowolnym pakiecie i o dowolnych parametrach, o ile nie znajdują się w aspekcie Logger. Warto zwrócić uwagę właśnie na to ograniczenie: jego brak spowodowałby uruchamianie porad także dla wywołań metod wewnątrz tych porad, co skończyłoby się zapętleniem lub przynajmniej niepożądanym zachowaniem programu.

W aspekcie znajdują się także trzy porady, dotyczące odpowiednio momentów przed osiągnięciem punktu cięcia wywolanieMetody (), po jego osiągnięciu w przypadku prawidłowego zakończenia oraz w przypadku zgłoszenia wyjątku. Wszystkie trzy porady wyświetlają stosowny komunikat związany z wywołaniem metody, powrotem z wywołania oraz zgłoszeniem wyjątku. Odwołania do zmiennej thisJoinPoint pozwalają na odczyt sygnatury metody, która aktualnie jest wywoływana.


<< Poprzedni slajd | Spis treści | Następny slajd >>