6. Cross-cutting concern
Behov som går på tvären igenom
flera lager och/eller moduler.
Exempel:
•Loggning
•Auktorisering
•Transaktioner
•Datavalidering
Mattias Jiderhamn
7. Join point
Punkter där det är möjligt
att applicera ett
cross-cutting concern
AOP LINE - DO CROSS AOP LINE - DO CROSS
Exempel: metodanrop
Mattias Jiderhamn
8. Cross-cutting concern
Loggning Behörighet Transaktioner
Artikel
modul
Join point
Kund-modul
Data-access
REST API
Mattias Jiderhamn
9. Pointcut
Deklarationen av en join point.
Definierar var skall något hända.
Tillåter ofta kombinationer
av flera join points.
Exempel: ”när metoden B.a() anropas
ELLER exceptionet Foo fångas i
klassen Bar”
Mattias Jiderhamn
10. Advice
Implementationen av ett
cross-cutting concern
Vad skall hända
Mattias Jiderhamn
11. Aspect
Modul innehållande
pointcuts och advice
Var + Vad
Mattias Jiderhamn
12. Weaving
Processen när advice appliceras
på angivna pointcuts
”Advised”
Klass A Weaving Klass A’
Mattias Jiderhamn
13. Inter-type declaration
Lägg till deklarationer till en eller flera
(redan kompilerade) klasser
•Fält
•Metoder
•Konstruktorer
•Interface
•Bas-klasser (”multipelt arv”)
Mattias Jiderhamn