Aspect orientat spre programare în cadrul de primăvară

La început, nu te voi încărca cu teorie, așa că să creăm proiectul Maven și să adaugăm următoarele dependențe:


Acum, creați interfața Performer






Și pentru el în clasa PerformerImpl
Apoi, trebuie să creați o clasă cu sfaturi, aceleași sfaturi. Să o numim Aspect.
Acum creați xml, unde vom configura aplicația noastră de stropire.
Deci, un pic de teorie.

orientate spre Aspect de programare (AOP) - o tehnică de programare în cadrul paradigmei de clasă bazată pe conceptul de aspect - un bloc de cod care încapsulează un comportament printr-o parte a claselor și a modulelor reutilizabile.

În cazul nostru, aspectul este clasa pe care am adăugat-o și metodele din aceasta se numesc sfaturi sau sfaturi. Acestea sunt împărțite în 5 tipuri:

  • Înainte de (înainte ca metoda să fie executată)
  • După (după execuție)
  • După returnare (după returnarea rezultatului)
  • După aruncare (după ce a aruncat o excepție)
  • În jurul (combinând mai multe sfaturi în 1)

Primele 2 pe care le-am adăugat deja, restul va fi luat în considerare mai târziu.
Deci, în xml am creat o nouă config, în care am adăugat un aspect care se referă la bin. Au fost anunțate două consilii: înainte și după. Dar opriți-vă. Ce este un punctaj?
Pentru a aduce AOP în acțiune, trebuie să înfășurăm codul necesar în bord (e). Acest cod este numit punct de îmbinare sau punct de îmbinare, iar punctul punct este un set de puncte de conexiune.

Cum funcționează și de ce este nevoie?

Aspect orientat spre programare în cadrul de primăvară






Să ne întoarcem la codul nostru

Ce parametri există pentru fiecare etichetă pe care nu o voi descrie. Voi spune doar despre parametrul etichetei pointexit.
Execuția înseamnă că aspectul este executat numai atunci când se începe metoda corespunzătoare doSmth. Un asterisc înaintea unei căi înseamnă că valoarea returnată poate fi oricare, dar două puncte în paranteze, încât argumentele pot fi oricare. De asemenea, putem specifica calea spre interfață, nu pentru clasă. Apoi, aspectul va funcționa pentru toate clasele care implementează această interfață.

Așa că am dat seama cum funcționează totul și ce este pentru el. Deci, să ne conducem cererea. Pentru aceasta, creați o clasă nouă cu metoda principală.
La pornire vedem următoarele:
Astfel, fără a schimba interfața și clasa de implementare a acesteia, am conectat logarea, care este pornită înainte și după ce metoda este executată. Și acum să verificăm munca celorlalte sfaturi. Pentru a face acest lucru, creați o nouă clasă, numiți-o Worker:
Acum ne schimbăm fișierul xml: adăugați o nouă fasole și un aspect cu sfaturi noi.
Și acum principala metodă:
La pornire, cu o șansă de 50%, vom vedea și noi
sau
Acum ne vom ocupa de ultimul sfat, și anume în jur, care reunește câteva sfaturi într-una. Pentru aceasta, adăugați o nouă metodă la clasa Aspect:
Acum întoarceți-vă la performerul nostru și schimbați aspectul nostru în fișierul xml.
Rulați cererea noastră nu de la vorker, ci de interpret. Cred că știi ce să faci;)
După lansare, ar trebui să vedem:

Astfel, cu ajutorul celor din jur, am combinat toate cele 4 consilii în 1.

concluzie

AOP - un instrument puternic în mâinile de dezvoltatori, care vă permite să facă o prin-funcțional „în spatele scenei“ ale aplicației noastre. Și AOP de primăvară o face cât mai mult posibil în mod convenabil și clar. Desigur, de primăvară AOP nu este singura opțiune pentru limbajul de programare Java orientată spre aspect, o bună alternativă la AspectJ poate numi, dar nu voi discuta în acest articol.

baxxabit Grishman Rustock liberal4ik schyzoo publo Fike lano4ka akmil VasilievAleksey SamTan Jack_killer Nadya2308 Garazd com alexvv iceknight serega123 error666 Nicolas_As jibiday GreyGoblin Captian BeLucky







Trimiteți-le prietenilor: