Zpo-12-wyk-Slajd13

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zasada działania AspectJ

Zasada działania AspectJ


Niepożądany efekt, o którym była mowa wcześniej – czyli przeplatanie się kodu – jest nie do uniknięcia. Celem jest jednak nie całkowite wyeliminowanie go, ale przesunięcie z kodu źródłowego do kodu wynikowego lub nawet wykonania programu. Proces przeplatania nazywany jest tkaniem (ang. weaving ), a jego wykonawcą jest tkacz (ang. weaver ).

Niezależnie od zastosowanej techniki tkania, istota tego procesu polega na identyfikacji określonych punktów programu (punktów złączeń), w których wykonywany jest inny kod, niż wskazuje na to oryginalna wersja programu, lub modyfikowana jest struktura programu. Typowym przykładem identyfikowanego punktu złączenia jest np. wywołanie metody.

W przypadku AspectJ elementami podlegającymi tkaniu są klasy Javy oraz kod i reguły tkania zawarte w aspektach. Na podstawie tych elementów tkacz generuje bajtkod, który jest poprzeplatanym kodem wynikowym, tak jakby podstawą do jego wygenerowania był poprzeplatany kod źródłowy. Zatem rolę tkacza odgrywa w tym przypadku specjalny kompilator, który produkuje kod wynikowy będący prawidłowym programem w języku Java.

Inne metody tkania obejmują przeplatanie kodu w trakcie ładowania kodu lub jego wykonywania. Można wyobrazić sobie np. wirtualną maszynę języka Java wyposażoną w możliwość łączenia aspektów z kodem.


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