Aspektorienterad programmering

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 4 maj 2020; kontroller kräver 3 redigeringar .

Aspect-Oriented Programming (AOP)  är ett programmeringsparadigm baserat på idén om separering av funktionalitet för att förbättra programpartitionering i moduler .

AOP- metoden föreslogs av en grupp ingenjörer vid Xerox PARC Research Center under ledning av Gregor Kiczales. De utvecklade också en aspektorienterad tillägg för Java-språket , kallad AspectJ  - (2001).

Motivering

Befintliga programmeringsparadigm - procedurell , modulär , objektorienterad programmering (OOP) och domänorienterad design  - tillhandahåller vissa sätt att separera och lyfta fram funktionalitet: funktioner , moduler , klasser , men viss funktionalitet som använder de föreslagna metoderna kan inte separeras i separata enheter. Sådan funktionalitet kallas ände-till- ände (från engelska  scattered  - scattered eller engelska  tangled - intertwined), eftersom dess implementering är fördelad mellan olika programmoduler. End-to-end-funktionalitet leder till spridd och förvirrande kod som är svår att förstå och underhålla.

Loggning och undantagshantering är  typiska exempel på tvärgående funktionalitet. Andra exempel: spårning ; autentisering och verifiering av åtkomsträttigheter ; avtalsprogrammering (särskilt kontroll av för- och eftervillkor). För ett program som är skrivet i OOP-paradigmet, är all funktionalitet som inte har sönderdelad pass-through.

Men enligt vissa författare [1] kan AOP också framgångsrikt användas för att lösa problem med säkerhet, multithreading , transaktionshantering och många andra.

Grundläggande begrepp

Alla AOP-språk tillhandahåller ett sätt att isolera end-to-end-funktionalitet till en separat enhet. Eftersom AspectJ är förfadern till denna riktning, har begreppen som används i denna förlängning spridit sig till de flesta AOP-språk.

Grundläggande begrepp för AOP:

Anteckningar

  1. Myter och verkligheter av AOP . IBM. Datum för åtkomst: 27 oktober 2010. Arkiverad från originalet den 5 februari 2012.

Länkar

Litteratur