logo

Spomladanska vadnica AOP

  1. Kaj je AOP?
  2. Kje uporabljati AOP?
  3. AOP koncepti in terminologija
  4. Spomladanska izvedba AOP

Aspektno usmerjeno programiranje (AOP) dopolnjuje OOP v smislu, da zagotavlja tudi modularnost. Toda ključna enota modularnosti je vidik kot razred.

AOP razdeli programsko logiko na ločene dele (imenovane zadeve). Uporablja se za povečanje modularnosti z medsektorskih pomislekov .

A medsektorsko skrb je skrb, ki lahko vpliva na celotno aplikacijo in bi morala biti centralizirana na čim eni lokaciji v kodi, kot je upravljanje transakcij, preverjanje pristnosti, beleženje, varnost itd.


Zakaj uporabljati AOP?

Zagotavlja vtični način za dinamično dodajanje dodatne skrbi pred, za ali okoli dejanske logike. Recimo, da je v razredu 10 metod, kot je navedeno spodaj:

 class A{ public void m1(){...} public void m2(){...} public void m3(){...} public void m4(){...} public void m5(){...} public void n1(){...} public void n2(){...} public void p1(){...} public void p2(){...} public void p3(){...} } 

Obstaja 5 metod, ki se začnejo z m, 2 metodi, ki se začnejo z n, in 3 metode, ki se začnejo s p.

Razumevanje scenarija Moram vzdrževati dnevnik in poslati obvestilo po klicu metod, ki se začnejo z m.

Težava brez AOP Metode (ki vodijo dnevnik in pošiljajo obvestila) lahko pokličemo iz metod, ki se začnejo z m. V takem scenariju moramo kodo napisati v vseh 5 metodah.

Če pa stranka v prihodnosti reče, da mi ni treba poslati obvestila, morate spremeniti vse metode. To vodi do težav z vzdrževanjem.

Rešitev z AOP Ni nam treba klicati metod iz metode. Zdaj lahko v metodi razreda definiramo dodatno skrb, kot je vzdrževanje dnevnika, pošiljanje obvestil itd. Njegov vnos je podan v datoteki xml.

V prihodnosti, če odjemalec reče, da odstranimo funkcijo obveščanja, moramo spremeniti samo datoteko xml. Torej je vzdrževanje v AOP enostavno.

jquery ob kliku

Kje uporabljati AOP?

AOP se večinoma uporablja v naslednjih primerih:

  • za zagotavljanje deklarativnih podjetniških storitev, kot je deklarativno upravljanje transakcij.
  • Uporabnikom omogoča implementacijo vidikov po meri.

AOP koncepti in terminologija

Koncepti in terminologija AOP so naslednji:

  • Točka pridružitve
  • nasvet
  • Pointcut
  • Uvod
  • Ciljni predmet
  • Vidik
  • Prestreznik
  • AOP Proxy
  • Tkanje

Točka pridružitve

Točka pridružitve je katera koli točka v vašem programu, kot je izvajanje metode, obravnava izjem, dostop do polja itd. Spring podpira samo točko pridružitve izvajanja metode.


nasvet

Nasvet predstavlja dejanje, ki ga izvede vidik na določeni točki pridružitve. Obstajajo različne vrste nasvetov:

  • Pred Nasveti : izvede se pred točko združevanja.
  • Po vračilu nasvet : izvede se po tem, ko se skupna točka normalno zaključi.
  • Nasvet po metanju : izvede se, če se metoda zaključi z vrženjem izjeme.
  • Po (končno) Nasvetu : izvede se po točki združevanja ne glede na izhod iz točke združevanja, ne glede na to, ali se vrača običajno ali izredno.
  • Okoli Nasveti : Izvede se pred točko združevanja in za njo.

Pointcut

Je izrazni jezik AOP, ki se ujema s točkami združevanja.


Uvod

Pomeni uvedbo dodatne metode in polj za vrsto. Omogoča uvedbo novega vmesnika za kateri koli priporočeni objekt.


Ciljni predmet

Je predmet, tj. svetuje mu en ali več vidikov. Spomladi je znan tudi kot proksi objekt, ker je Spring AOP implementiran s pomočjo izvajalnih proksijev.


Vidik

To je razred, ki vsebuje nasvete, spojne točke itd.


Prestreznik

Je vidik, ki vsebuje samo en nasvet.


AOP Proxy

Uporablja se za izvajanje aspektnih pogodb, ustvarjenih z okvirom AOP. To bo dinamični proxy JDK ali CGLIB proxy v spomladanskem okviru.


Tkanje

To je postopek povezovanja vidika z drugimi tipi aplikacij ali objekti za ustvarjanje priporočenega predmeta. Tkanje se lahko izvede med prevajanjem, časom nalaganja ali med izvajanjem. Spring AOP izvaja tkanje med izvajanjem.

java switch stavek

Izvedbe AOP

Izvedbe AOP zagotavljajo:

  1. AspectJ
  2. Pomladni AOP
  3. JBoss AOP

Pomladni AOP

Spring AOP je mogoče uporabiti na 3 spodaj navedene načine. Toda široko uporabljen pristop je Spring AspectJ Annotation Style. Spodaj so navedeni 3 načini uporabe vzmetnega AOP:

  1. By Spring1.2 Stari slog (temelji na dtd) (podprto tudi v Spring3)
  2. Po slogu pripisov AspectJ
  3. By Spring XML slog konfiguracije (na podlagi sheme)

Referenčne povezave

Pomladni vir AOP
Spring Source AOP API
Wikipedia