AspektJ
Gå til navigasjon
Gå til søk
AspectJ er et aspektorientert programmeringsspråk bygget som en utvidelse av Java -språket som ble opprettet hos Xerox PARC . En AspectJ-kompilator skyver forestillingen om aspekt inn i virtuell maskinkode, og implementerer dermed en forestilling om relasjon. Skinnene i seg selv er skrevet i utvidet Java ved å generere en java-fil eller kompilert med maskinkode som er kompatibel med den som genereres av Java-kompilatorer.
AspectJ-funksjoner
- Aspekter : Disse er definert som "innpakninger" av kode. De ser ut som Java-klasser.
- Joinpoint : punkter i Java-kode hvor et aspekt kan avskjære klasser.
- Pointcuts - Logisk sammenkoblede grupper av sammenføyningspunkter.
- Råd : Dette er kodebiter assosiert med pointcuts, som injiserer en ny atferd på alle sammenføyningspunkter representert av pointcut.
- Intertype-medlemserklæringer : lar et aspekt definere feltene og metodene som er implementert for flere klasser.
Fordeler og ulemper
Noen av fordelene med AspectJ-språket inkluderer:
- AspectJ lar deg modellere kryssreferanser, og utvider dermed mulighetene til OOP.
- Det er et kortfattet og eksplisitt språk designet for å tilby fordelene med modularitet.
På den annen side har AspectJ-språket følgende ulemper:
- Uten et passende verktøy vil ikke programmereren forstå funksjonaliteten til hele systemet. For eksempel kan inter-type medlemmer ikke sees og aldri bli brukt.
- Modellering, planlegging og kontroll er mye viktigere i utviklingsfasen. Aspekter må anerkjennes av designere, noe som letter oppgaven for programmerere.
- Aspekter kan misbrukes. En programmerer kan implementere falsk funksjonalitet på ethvert utviklingsstadium og påvirke et bredt spekter av systemet. Kraften til POA kan være vanskelig å forstå.
Kompilatorer designet for AspectJ
Det er minst to AspectJ-kompilatorer:
- ajc del av verktøyene som støttes av Eclipse -prosjektet , og
- abc som er en kompilator, optimerer og utvidbar, produsert på aspectbench.org.
Eksterne lenker
Wikibooks er vert for en bok eller manual om Let's Program i AspectJ .- AspectJ hjemmeside
- AspectJ Development Tools (AJDT) for Eclipse
- AspectJ dokumentasjon
- https://web.archive.org/web/20141216200424/http://aspectbench.org/
- "5 Leben des AspectJ" av Markus Voelter og Martin Lippert
- "Rådveving i AspectJ" av Erik Hilsdale og Jim Hugunin