Aspektorienteret programmering

Aspektorienteret programmering (AOP) er en teknik, som implementerer hensyn, der går på tværs i objektorienterede (OO) systemer. AOP kan altså ikke stå alene og erstatte OO, men i stedet supplere, der hvor OO er svag.

Et eksempel på noget der med fordel lader sig implementere med aspekter er det tværgående hensyn til logning.

I AOP laver man først et aspekt, som indeholder det kode, der skal udføres alle de steder aspektet skal virke. Aspektet bindes herefter compile time til de rigtige steder i OO-koden med en søgemekanisme. I modsætning til OO ligger informationen om, hvem der skal udføre aspektet ikke spredt ude i klasserne – det er trukket ud i et tværgående aspekt, hvilket gør det nemmere at overskue og vedligeholde systemet.

Modenhed

De pt. (okt. 2004) mest udbredte AOP-implementationer til Java er: AspectJ, JBoss AOP og Spring AOP, men de har stadigt lav modenhed. Det forventes at der i løbet af ca. 5 år kommer en standard for AOP til Java, og at AO herefter vil gå hånd-i-hånd med OO-modellerering i fremtidigen.

ProgrammeringSpire
Denne artikel om datalogi eller et datalogi-relateret emne er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.