Programavimas

Mano du centai už į aspektą orientuotą programavimą

AOP (į aspektą orientuotas programavimas) yra programavimo stilius, kurį galima pritaikyti apibrėžiant tam tikras strategijas, kurios savo ruožtu naudojamos apibrėžiant ir valdant kompleksinius klausimus programoje. Iš esmės tai yra programavimo paradigma, leidžianti jūsų programą pritaikyti pokyčiams.

Taigi, kai naudojatės AOP teikiamomis galimybėmis savo programose, galite padidinti savo programos moduliškumą atskirdami rūpimus klausimus. Galite naudoti AOP, kad sumažintumėte kodo netvarką, pagerindami savo kodo įskaitomumą ir prieinamumą.

Reikėtų pažymėti, kad AOP yra tik nauja programavimo paradigma - ji jokiu būdu nepakeičia OOP. Veikiau jis papildo OOP, suteikdamas jums dar vieną būdą, kaip pasiekti moduliškumą ir sumažinti kodų netvarką.

Taikant AOP, aspektą galima apibrėžti kaip rūpesčio moduliavimą. Vadinasi, šis programavimo stilius yra vadinamas į aspektą orientuotu programavimu. OOP programoje galite pasinaudoti klasių pranašumais, kad pasiektumėte moduliškumą. Priešingai, jūs galite pasiekti AOP moduliškumą per aspektus.

AOP esmė yra apibendrinti įprastas funkcijas, tuo pačiu leidžiant jūsų programai panaudoti tas funkcijas, kurių reikia. Tarp tokių bendrų funkcijų ar kompleksinių problemų yra saugumo valdymas, registravimas, pranešimai, operacijų valdymas, išimčių valdymas ir kt. Kai kurios populiarios AOP sistemos yra: „PostSharp“, „Spring framework“, „Castle Windsor“, „Microsoft Unity“ sistema, „Policy Injection Block“ ir kt.

Susipažinimas su AOP terminologijomis

Dirbdami su AOP, turėtumėte būti susipažinę su kai kuriomis pagrindinėmis jo sąvokomis. Tai apima:

  • Aspektas: kompleksinis rūpestis ar daugkartinio naudojimo modulis. Programoje galite turėti vieną ar daugiau aspektų.
  • Įvadas: funkcija, naudojama deklaruoti papildomus tam tikro tipo metodus ir atributus.
  • Prisijungimo taškas: taškas, kuriame galite prijungti aspektą.
  • Patarimas: veiksmas, atliekamas tam tikrame prisijungimo taške. Jis taip pat naudojamas apibrėžti veiksmą, kurį reikia atlikti prieš metodo vykdymą arba jam sekant.
  • Audimas: pateikia jūsų susipainiojusio kodo sprendimą. Tai leidžia susieti skirtingus aspektus su kitais programos objektais. Atkreipkite dėmesį, kad, atsižvelgiant į tai, kada audimas įvyks, galite turėti audimo laiką, apkrovos laiką arba vykdymo laiką.
  • Tikslinis objektas: Tikslinis objektas gali būti apibrėžtas kaip tas, kurį pataria vienas ar keli jūsų programos aspektai.
  • Taškinis pjūvis: nurodo audimo taisykles, t. Y. Jis naudojamas apibrėžti sujungimo tašką, kuriame tam tikras patarimas gali būti taikomas jūsų programoje.

Kodėl vis tiek turėčiau naudoti AOP?

OOP skatina pakartotinį kodo naudojimą ir lankstumą. Taigi, kam tada reikalingas AOP? AOP yra programavimo paradigma, turinti ir visus OOP pranašumus. Be to, galite reklamuoti laisvą susiejimą ir leisti savo programai naudoti papildomus aspektus, kai tik prireikus nėra jokių pakeitimų jūsų programos kode. Naudodamiesi AOP galite sutelkti dėmesį į savo programos verslo logiką ir tuo pačiu įpinti verslo logikos aspektus. Vienas iš pagrindinių AOP naudojimo pranašumų yra tas, kad jums tereikės vieną kartą parašyti savo aspektus ir tada galėsite juos pakartotinai naudoti visur, kur jums reikia. Taigi, AOP yra puikus būdas sumažinti jūsų programos šaltinio kodo sudėtingumą ir padaryti kodą švarų. AOP pranašumai:

  • Sumažinta kodų netvarka
  • Sumažintas kodo nereikalingumas
  • Lengvesnė kodo priežiūra
  • Spartesnė plėtra
  • Pagerintas kodo įskaitomumas

Kaip pasiekti AOP savo programoje?

Norėdami įdiegti AOP savo programose, pirmiausia turite padaryti, kad atskirtumėte programos aspektus nuo verslo logikos. Svarbiausias dalykas, kurį turėtumėte nepamiršti kurdami aspektus, yra tai, kad jie turėtų būti nepriklausomi ir neturėti jokios priklausomybės nuo programos. Jūs taip pat turėtumėte sugebėti išbandyti nepriklausomus aspektus. Tada turėtumėte tuos aspektus pritaikyti programos šaltinio kodui, auddami juos visur, kur jų reikia programai. Vienas iš būdų, kaip galite įdiegti AOP savo programose, yra atributų naudojimas.