Аспектно оријентисано програмирање (АОП) допуњује ООП-ове у смислу да такође обезбеђује модуларност. Али кључна јединица модуларности је аспект него класа.
АОП разбија логику програма на различите делове (које се називају забринутости). Користи се за повећање модуларности свеобухватне бриге .
А свеобухватна брига је проблем који може утицати на целу апликацију и требало би да буде централизован на једној локацији у коду што је више могуће, као што је управљање трансакцијама, аутентификација, евидентирање, безбедност итд.
Зашто користити АОП?
Пружа могућност укључивања да се динамички додају додатни проблеми пре, после или око стварне логике. Претпоставимо да постоји 10 метода у класи као што је дато у наставку:
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(){...} }
Постоји 5 метода које почињу од м, 2 методе које почињу од н и 3 методе које почињу од стр.
Разумевање сценарија Морам да одржавам дневник и шаљем обавештење након позивања метода које почињу од м.
Проблем без АОП-а Можемо позвати методе (које одржавају дневник и шаљу обавештења) из метода које почињу са м. У таквом сценарију, потребно је да напишемо код у свих 5 метода.
Али, ако клијент убудуће каже, не морам да шаљем обавештење, потребно је да промените све методе. То доводи до проблема одржавања.
Решење са АОП-ом Не морамо да позивамо методе из методе. Сада можемо дефинисати додатну бригу као што је одржавање дневника, слање обавештења итд. у методу класе. Његов унос је дат у кмл датотеци.
Убудуће, ако клијент каже да уклони функционалност обавештавача, морамо да променимо само кмл датотеку. Дакле, одржавање је лако у АОП-у.
мавен инсталл
Где се користи АОП?
АОП се углавном користи у следећим случајевима:
- за пружање декларативних услуга предузећа као што је декларативно управљање трансакцијама.
- Омогућава корисницима да имплементирају прилагођене аспекте.
АОП концепти и терминологија
АОП концепти и терминологије су следећи:
- Јоин поинт
- Савет
- Поинтцут
- Увод
- Циљни објекат
- Аспецт
- Пресретач
- АОП Проки
- Ткање
Јоин поинт
Тачка спајања је било која тачка у вашем програму као што је извршење метода, руковање изузетком, приступ пољу итд. Спринг подржава само тачку спајања извршења метода.
Савет
Савет представља акцију коју предузима аспект у одређеној тачки спајања. Постоје различите врсте савета:
- Пре савета : извршава се пре тачке спајања.
- После повратног савета : извршава се након што се тачка спајања нормално заврши.
- После бацања савета : извршава се ако се метод изађе избацивањем изузетка.
- После (коначно) Савета : извршава се након тачке спајања без обзира на излаз из тачке спајања без обзира да ли је нормалан или изузетан повратак.
- Око савета : Извршава се пре и после тачке спајања.
Поинтцут
То је језик израза АОП-а који одговара тачкама спајања.
Увод
То значи увођење додатне методе и поља за тип. Омогућава вам да уведете нови интерфејс у било који саветовани објекат.
Циљни објекат
То је објекат, тј. саветује га један или више аспеката. Такође је познат као прокси објекат у пролеће јер се Спринг АОП имплементира помоћу рунтиме проксија.
Аспецт
То је класа која садржи савете, тачке спајања итд.
Пресретач
То је аспект који садржи само један савет.
АОП Проки
Користи се за имплементацију уговора о аспектима, креираних АОП оквиром. То ће бити ЈДК динамички прокси или ЦГЛИБ прокси у пролећном оквиру.
Ткање
То је процес повезивања аспекта са другим типовима апликација или објектима да би се креирао саветовани објекат. Ткање се може обавити у време компајлирања, учитавања или извођења. Спринг АОП врши ткање током рада.
влц преузимање иоутубе видео записа
АОП имплементације
АОП имплементације обезбеђују:
- АспецтЈ
- Спринг АОП
- ЈБосс АОП
Спринг АОП
Спринг АОП се може користити на 3 доле наведена начина. Али широко коришћен приступ је Спринг АспецтЈ Аннотатион Стиле. 3 начина коришћења опружног АОП-а су дата у наставку:
- Од Спринг1.2 Стари стил (заснован на дтд) (такође подржан у Спринг3)
- Према стилу анотације АспецтЈ
- По Спринг КСМЛ стилу конфигурације (засновано на шеми)
Референтне везе
Спринг Соурце АОПСпринг Соурце АОП АПИ
Википедиа