Realizacja przecinania zagadnień w programowaniu w AspectJ, oparta jest przede wszystkim na dwóch mechanizmach:
-
punktach złączeń (ang. join points)
-
radach (ang. advices)
Punkty złączeń są określonymi punktami wykonania programu, dostępnymi z poziomu języka za pomocą deklaracji
punktów cięć (ang.
pointcuts).
Punkty wykonania programu identyfikują wywołania i wykonania metod, konstruktorów i kodu obsługującego wyjątki oraz odczytywanie i zapisywanie pól.
Z punktami złączeń powiązane są rady – konstrukcje programowe podobne do metod, zawierające kod wykonywany w czasie osiągnięcia punktu złączenia. Rady mogą być wykonywane przed, po lub zamiast punktu złączenia.
Aspekt jest konstrukcją programową składającą się z punktów cięć oraz z rad, może również, podobnie jak klasa, zawierać normalne metody, być abstrakcyjny oraz dziedziczony z innych aspektów. AspectJ udostępnia także mechanizmy zwane
wprowadzeniami (ang.
introduction) pozwalające modyfikować statyczne struktury programu takie jak składniki klas oraz zależności pomiędzy klasami.