Utviklet av | Eclipse Foundation |
---|---|
Første versjon | 2001 |
Siste versjon | 1.9.2 (23. oktober 2018) |
Avansert versjon | 1.9.3RC1 (7. mars 2019) |
Innskudd | git: //git.eclipse.org/gitroot/aspectj/org.aspectj.git og git.eclipse.org/r/aspectj/org.aspectj |
Skrevet i | Java |
Operativsystem | Multiplatform |
Type | Programmeringsspråk |
Tillatelse | Formørkelselisens |
Nettsted | www.eclipse.org/aspectj |
AspectJ er en aspektorientert utvidelse , opprettet på Xerox PARC , for Java- programmeringsspråket . Denne utvidelsen er tilgjengelig i Eclipse- prosjekter med åpen kildekode , frittstående eller som en utvidelse for Eclipse-utviklingsmiljøet . AspectJ har blitt standarden, på grunn av den utbredte bruken, for Aspect Oriented Programming med vekt på enkelhet og enkel implementering for sluttbrukere. AspectJ er basert på syntaksen til Java- språket og integreres med IDEer for å vise den tverrgående strukturen siden den første publikasjonen i 2001.
Veving av aspekter utføres på de kompilerte klassene. Denne vevingen kan etableres når kildekoden er kompilert eller ved kjøretid, når klassene lastes av den virtuelle maskinen.
Ethvert Java- program er AspectJ-kompatibelt. Imidlertid tillater AspectJ også programmerere å definere spesielle konstruksjoner som kalles "aspekter" . "Aspekter" kan inneholde flere enheter som ikke kan brukes av standardklasser. Vi finner :
For eksempel samsvarer denne "snarveien" med kjøringen av en hvilken som helst metode for en forekomst av et objekt av typen Pointhvis navn begynner med set :
pointcut set() : execution(* set*(..) ) && this(Point);AspectJ støtter også begrensede statiske former for punktkuttbasert aspektkontroll og gjenbruk (ved arv).