logo

Kevään AOP opetusohjelma

  1. Mikä on AOP?
  2. Missä AOP:tä käytetään?
  3. AOP:n käsitteet ja terminologia
  4. Kevään AOP-toteutus

Aspektisuuntautunut ohjelmointi (AOP) täydentää OOP:ia siinä mielessä, että se tarjoaa myös modulaarisuutta. Mutta modulaarisuuden avainyksikkö on aspekti kuin luokka.

AOP hajottaa ohjelman logiikan erillisiin osiin (kutsutaan huolenaiheiksi). Sitä käytetään lisäämään modulaarisuutta monialaisia ​​huolenaiheita .

A monialainen huolenaihe on huolenaihe, joka voi vaikuttaa koko sovellukseen, ja se tulisi keskittää mahdollisimman yhteen paikkaan koodissa, kuten tapahtumien hallinta, todennus, loki, suojaus jne.


Miksi käyttää AOP:ta?

Se tarjoaa kytkettävän tavan lisätä dynaamisesti lisähuolia ennen varsinaista logiikkaa, sen jälkeen tai sen ympärillä. Oletetaan, että luokassa on 10 alla olevaa menetelmää:

 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(){...} } 

On 5 menetelmää, jotka alkavat m:stä, 2 menetelmää, jotka alkavat n:stä ja 3 menetelmää, jotka alkavat p:stä.

Skenaarion ymmärtäminen Minun on ylläpidettävä lokia ja lähetettävä ilmoitus menetelmien soittamisen jälkeen, jotka alkavat m:stä.

Ongelma ilman AOP:tä Voimme kutsua menetelmiä (joka ylläpitää lokia ja lähettää ilmoituksen) m-alkuisista menetelmistä. Tällaisessa tilanteessa meidän on kirjoitettava koodi kaikilla viidellä menetelmällä.

Mutta jos asiakas sanoo jatkossa, että minun ei tarvitse lähettää ilmoitusta, sinun on muutettava kaikkia tapoja. Se johtaa huoltoongelmiin.

Ratkaisu AOP:lla Meidän ei tarvitse kutsua menetelmiä menetelmästä. Nyt voimme määritellä lisähuolen, kuten lokin ylläpitämisen, ilmoituksen lähettämisen jne. luokan menetelmässä. Sen merkintä on annettu xml-tiedostossa.

Jatkossa, jos asiakas pyytää poistamaan ilmoitustoiminnon, meidän on muutettava vain xml-tiedostoa. Huolto on siis helppoa AOP:ssa.

aakkoset numeroiden mukaan

Missä AOP:tä käytetään?

AOP:ta käytetään useimmiten seuraavissa tapauksissa:

  • tarjota deklaratiivisia yrityspalveluita, kuten deklaratiivista tapahtumien hallintaa.
  • Sen avulla käyttäjät voivat toteuttaa mukautettuja ominaisuuksia.

AOP:n käsitteet ja terminologia

AOP:n käsitteet ja terminologiat ovat seuraavat:

  • Liitoskohta
  • Neuvoja
  • Pointcut
  • Johdanto
  • Kohdeobjekti
  • Aspekti
  • Torjuntahävittäjä
  • AOP-välityspalvelin
  • Kudonta

Liitoskohta

Liitospiste on mikä tahansa kohta ohjelmassasi, kuten menetelmän suoritus, poikkeusten käsittely, kenttäkäyttö jne. Spring tukee vain menetelmän suorittamisen liitoskohtaa.


Neuvoja

Neuvonta edustaa toimintaa, jonka aspekti suorittaa tietyssä liitospisteessä. Neuvoja on erilaisia:

  • Ennen neuvoja : se suoritetaan ennen liitoskohtaa.
  • Ohjeiden palauttamisen jälkeen : se suoritetaan sen jälkeen, kun liitospiste on suoritettu normaalisti.
  • Heittoneuvoja : se suoritetaan, jos menetelmä poistuu heittämällä poikkeus.
  • (vihdoin) neuvojen jälkeen : se suoritetaan liitospisteen jälkeen riippumatta liittymispisteen poistumisesta, onko se normaali tai poikkeuksellinen paluu.
  • Noin neuvoja : Se suoritetaan ennen ja jälkeen liitoskohdan.

Pointcut

Se on AOP:n ilmaisukieli, joka vastaa liitospisteitä.


Johdanto

Se tarkoittaa lisämenetelmän ja -kenttien käyttöönottoa tyypille. Sen avulla voit ottaa käyttöön uuden käyttöliittymän mihin tahansa suositeltuun kohteeseen.


Kohdeobjekti

Se on kohde, eli se, jota yksi tai useampi näkökohta neuvoo. Se tunnetaan myös proxy-objektina keväällä, koska Spring AOP on toteutettu ajonaikaisten välityspalvelinten avulla.


Aspekti

Se on luokka, joka sisältää neuvoja, liitoskohtia jne.


Torjuntahävittäjä

Se on näkökohta, joka sisältää vain yhden neuvon.


AOP-välityspalvelin

Sitä käytetään AOP-kehyksen luomien osasopimusten toteuttamiseen. Se on dynaaminen JDK-välityspalvelin tai CGLIB-välityspalvelin kevätkehyksessä.


Kudonta

Se on prosessi, jossa aspekti linkitetään muihin sovellustyyppeihin tai objekteihin neuvotun objektin luomiseksi. Kudonta voidaan tehdä käännös-, lataus- tai suoritusaikana. Spring AOP suorittaa kudontaa ajon aikana.

kuinka löytää näytön koko

AOP-toteutukset

AOP-toteutukset tarjoavat:

  1. AspectJ
  2. Kevään AOP
  3. JBoss AOP

Kevään AOP

Kevään AOP:ta voidaan käyttää kolmella alla mainitulla tavalla. Mutta laajalti käytetty lähestymistapa on Spring AspectJ Annotation Style. Alla on 3 tapaa käyttää jousen AOP:tä:

  1. Tekijä: Spring1.2 Vanha tyyli (dtd-pohjainen) (tuettu myös Spring3:ssa)
  2. AspectJ-merkintätyyliin
  3. Spring XML -määritystyylillä (skeemapohjainen)

Viitelinkit

Kevään lähde AOP
Spring Source AOP API
Wikipedia