Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Aspekt-orienteret programmering (AOP) Lars Christensen Daniel Simonsen.

Lignende præsentationer


Præsentationer af emnet: "Aspekt-orienteret programmering (AOP) Lars Christensen Daniel Simonsen."— Præsentationens transcript:

1 Aspekt-orienteret programmering (AOP) Lars Christensen Daniel Simonsen

2 Præsentation af AOP Hvad er AOP og hvordan komplementerer det objekt-orienteret udvikling? Kodeeksempel Fordele og ulemper

3 AOP terminologi Tværgående funktionalitet (eng. crosscutting concerns) Advice Point-cut Aspekt (eng. aspect)

4 Tværgående funktionalitet Ex. sikkerhed, validering af inddata, fejlhåndtering, logning m.m. Klasser (OO programmering)

5 Join punkt (eng. join point) Et veldefineret punkt i programudførelsen, der bruges til at sammenføje eksekvering af ”ny” og ”gammel” kode Eksempler på join punkter er metodekald, tilgang til variable og ved kode til undtagelseshåndtering (eng. exception handling)

6 Advice Kode, der skal eksekveres på et bestemt tidspunkt; før, efter eller omkring et join punkt before(): før join punktet after(): efter join punktet around(): kan styre om join punktet bliver eksekveret eller ej ved brug af proceed()

7 Pointcut Et pointcut er en sprogkonstruktion, der udvælger et sæt af join punkter, der opfylder visse kriterier

8 Aspekt Et aspekt er kombinationen af et pointcut og advice kode.

9 Introduction Brug af introduction gør det muligt for aspekter at ændre programmets struktur; –Kan tilføje nye metoder og variable –Erklære, at en klasse implementerer et interface

10 Implementationer AspectJ Jboss AOP Nanning Aspectwerkz Spring

11 Kodeeksempel

12

13

14

15 Fordele Reduceret kodekompleksitet og udviklingstid Tilsyneladende ingen ydelsesforringelse Man undgår fejl forårsaget af (næsten) identisk kode Nemt at vedligeholde og udvide systemer ved at tilføje aspekter Aspekter kan genbruges

16 Ulemper Fejlfinding kan blive vanskeligere (?) Mulighed for spaghettikode, hvis aspekter bliver brugt ukritisk


Download ppt "Aspekt-orienteret programmering (AOP) Lars Christensen Daniel Simonsen."

Lignende præsentationer


Annoncer fra Google