logo

Pavasario AOP pamoka

  1. Kas yra AOP?
  2. Kur naudoti AOP?
  3. AOP sąvokos ir terminija
  4. Pavasario AOP įgyvendinimas

Aspektinis programavimas (AOP) komplimentuoja OOP ta prasme, kad taip pat suteikia moduliškumą. Tačiau pagrindinis moduliškumo vienetas yra aspektas nei klasė.

AOP suskaido programos logiką į atskiras dalis (vadinamus rūpesčiais). Jis naudojamas siekiant padidinti moduliškumą kompleksinius rūpesčius .

A skersinis rūpestis yra susirūpinimas, kuris gali turėti įtakos visai programai ir turėtų būti centralizuotas vienoje kodo vietoje, pvz., operacijų valdymas, autentifikavimas, registravimas, sauga ir kt.


Kodėl naudoti AOP?

Tai suteikia galimybę dinamiškai pridėti papildomų rūpesčių prieš, po ar aplink faktinę logiką. Tarkime, kad klasėje yra 10 metodų, kaip nurodyta toliau:

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

Yra 5 metodai, kurie prasideda nuo m, 2 metodai prasideda nuo n ir 3 metodai, kurie prasideda nuo p.

Scenarijaus supratimas Turiu tvarkyti žurnalą ir siųsti pranešimus po skambinimo metodais, kurie prasideda nuo m.

Problema be AOP Mes galime iškviesti metodus (kurie palaiko žurnalą ir siunčia pranešimus) iš metodų, prasidedančių raide m. Tokiu atveju kodą turime parašyti visais 5 metodais.

Bet jei klientas ateityje pasakys, man nereikia siųsti pranešimo, reikia pakeisti visus būdus. Tai veda prie priežiūros problemos.

Sprendimas su AOP Mes neturime iškviesti metodų iš metodo. Dabar klasės metodu galime apibrėžti papildomą rūpestį, pvz., žurnalo tvarkymą, pranešimų siuntimą ir pan. Jo įrašas pateikiamas xml faile.

Ateityje, jei klientas pasakys pašalinti pranešimo funkciją, turėsime pakeisti tik xml failą. Taigi, AOP priežiūra yra paprasta.

palyginti su java metodu

Kur naudoti AOP?

AOP dažniausiai naudojamas šiais atvejais:

  • teikti deklaratyvias įmonės paslaugas, tokias kaip deklaratyvus sandorių valdymas.
  • Tai leidžia vartotojams įgyvendinti pasirinktinius aspektus.

AOP sąvokos ir terminija

AOP sąvokos ir terminai yra tokie:

  • Sujungimo taškas
  • Patarimas
  • Pointcut
  • Įvadas
  • Tikslinis objektas
  • Aspektas
  • Perėmėjas
  • AOP tarpinis serveris
  • Audimas

Sujungimo taškas

Sujungimo taškas yra bet kuris jūsų programos taškas, pvz., metodo vykdymas, išimčių tvarkymas, lauko prieiga ir tt Spring palaiko tik metodo vykdymo prisijungimo tašką.


Patarimas

Patarimas reiškia veiksmą, kurį atlieka aspektas tam tikrame sujungimo taške. Yra įvairių tipų patarimai:

  • Prieš patarimą : jis vykdomas prieš sujungimo tašką.
  • Po grįžimo patarimas : jis vykdomas, kai sujungimo taškas baigiamas įprastai.
  • Patarimas po metimo : jis vykdomas, jei metodas išeina išmesdamas išimtį.
  • Po (pagaliau) patarimo : jis vykdomas po sujungimo taško, neatsižvelgiant į sujungimo taško išėjimą, nesvarbu, ar grįžtama įprastai, ar išskirtinai.
  • Aplink patarimus : Jis vykdomas prieš ir po sujungimo taško.

Pointcut

Tai AOP išraiškos kalba, atitinkanti sujungimo taškus.


Įvadas

Tai reiškia papildomo metodo ir laukų įvedimą tipui. Tai leidžia įvesti naują sąsają su bet kokiu rekomenduojamu objektu.


Tikslinis objektas

Tai objektas, t.y. jam patariama vienu ar keliais aspektais. Jis taip pat žinomas kaip tarpinis objektas pavasarį, nes Spring AOP įgyvendinamas naudojant vykdymo tarpinius serverius.


Aspektas

Tai klasė, kurioje yra patarimų, sujungimų ir kt.


Perėmėjas

Tai aspektas, kuriame yra tik vienas patarimas.


AOP tarpinis serveris

Jis naudojamas įgyvendinant aspektų sutartis, sukurtas pagal AOP sistemą. Tai bus JDK dinaminis tarpinis serveris arba CGLIB tarpinis serveris pavasario sistemoje.


Audimas

Tai aspekto susiejimo su kitais programų tipais ar objektais procesas, siekiant sukurti rekomenduojamą objektą. Audimas gali būti atliekamas kompiliavimo metu, įkėlimo metu arba vykdymo metu. Pavasario AOP audimą atlieka vykdymo metu.

android.process.acore vis sustoja

AOP įgyvendinimas

AOP diegimus teikia:

  1. AspektasJ
  2. Pavasario AOP
  3. JBoss AOP

Pavasario AOP

Pavasario AOP galima naudoti 3 toliau nurodytais būdais. Tačiau plačiai naudojamas metodas yra „Spring AspectJ“ anotacijos stilius. Toliau pateikiami 3 spyruoklinio AOP naudojimo būdai:

  1. Pagal Spring1.2 Senas stilius (dtd pagrindu) (taip pat palaikomas Spring3)
  2. Pagal AspectJ anotacijos stilių
  3. Pagal pavasario XML konfigūracijos stilių (pagrįsta schema)

Nuorodų nuorodos

Pavasario šaltinis AOP
Spring Source AOP API
Vikipedija