Programmēšana

Mani divi centi par aspektu orientētu programmēšanu

AOP (aspektu orientēta programmēšana) ir programmēšanas stils, ko var izmantot, lai definētu noteiktas politikas, kuras savukārt tiek izmantotas, lai definētu un pārvaldītu transversālās problēmas lietojumprogrammā. Būtībā tā ir programmēšanas paradigma, kas ļauj jūsu lietojumprogrammai pielāgoties izmaiņām.

Tātad, lietojot AOP priekšrocības savās lietojumprogrammās, varat palielināt lietojumprogrammas modularitāti, nošķirot bažas. Varat izmantot AOP, lai samazinātu koda nekārtību, uzlabojot koda lasāmību un uzturamību.

Jāatzīmē, ka AOP ir tikai jauna programmēšanas paradigma - tā nekādā veidā neaizstāj OOP. Drīzāk tas papildina OOP, piedāvājot jums citu veidu, kā panākt modularitāti un arī samazināt koda nekārtību.

AOP aspektu var definēt kā bažas modularizāciju. Tādējādi šis programmēšanas stils tiek nosaukts uz aspektu orientētu programmēšanu. OOP jūs varat izmantot klases priekšrocības, lai panāktu modularitāti. Gluži pretēji, izmantojot aspektus, jūs varat sasniegt AOP modularitāti.

AOP būtība ir apkopot kopīgas funkcionalitātes, vienlaikus ļaujot jūsu lietojumprogrammai pēc iespējas izmantot šīs funkcijas. Šādas kopīgas funkcijas vai transversālas problēmas ietver drošības pārvaldību, reģistrēšanu, paziņojumus, darījumu pārvaldību, izņēmumu pārvaldību utt. Dažas no populārākajām AOP ietvarstruktūrām ietver: PostSharp, Spring framework, Castle Windsor, Microsoft Unity framework, Policy Injection Block utt.

Iepazīšanās ar AOP terminoloģiju

Strādājot ar AOP, jums jāpārzina daži no tā galvenajiem jēdzieniem. Tie ietver sekojošo:

  • Aspekts: transversāla problēma vai atkārtoti lietojams modulis. Lietojumprogrammā var būt viens vai vairāki aspekti.
  • Ievads: funkcija, ko izmanto, lai deklarētu papildu metodes un atribūtus konkrētam tipam.
  • Pievienošanās punkts: punkts, kurā varat pievienot aspektu.
  • Padoms: darbība, kas tiek veikta noteiktā pievienošanās punktā. To lieto arī, lai noteiktu darbību, kas jāveic pirms metodes izpildes vai pēc tās.
  • Aušana: Nodrošina jūsu samudžinātā koda risinājumu. Tas ļauj sasaistīt dažādus aspektus ar citiem lietojumprogrammas objektiem. Ņemiet vērā, ka atkarībā no tā, kad notiks aušana, jums var būt aušanas kompilēšanas laiks, ielādes laiks vai izpildes laiks.
  • Mērķa objekts: Mērķa objektu var definēt kā tādu, kuru iesaka viens vai vairāki jūsu lietojumprogrammas aspekti.
  • Pointcut: norāda aušanas noteikumus, t.i., to izmanto, lai noteiktu savienojuma punktu, kur jūsu lietojumprogrammā var izmantot konkrētu padomu.

Kāpēc man tomēr vajadzētu izmantot AOP?

OOP jau veicina koda atkārtotu izmantošanu un elastību. Tātad, kāpēc tad jums ir nepieciešama AOP? AOP ir programmēšanas paradigma, kurai ir arī visas OOP priekšrocības. Papildus tam jūs varat reklamēt brīvu savienošanu un ļaut savai lietojumprogrammai izmantot pievienojamus aspektus, kad un kad nepieciešams, visas izmaiņas jūsu lietojumprogrammas kodā. Izmantojot AOP, varat koncentrēties uz lietojumprogrammas biznesa loģiku, tajā pašā laikā austot biznesa loģikas aspektus. Viena no galvenajām AOP izmantošanas priekšrocībām ir tā, ka jums vienkārši vajadzēs vienreiz uzrakstīt savus aspektus un pēc tam tos varēsit atkārtoti izmantot visur, kur nepieciešams. Tātad, AOP ir lielisks veids, kā samazināt lietojumprogrammas avota koda sarežģītību un padarīt kodu tīru. AOP priekšrocības ietver:

  • Samazināta koda nekārtība
  • Samazināta koda atlaišana
  • Vieglāka koda uzturēšana
  • Ātrāka attīstība
  • Uzlabota koda lasāmība

Kā manā pieteikumā sasniegt AOP?

Lai lietojumprogrammās ieviestu AOP, vispirms ir jāizolē lietojumprogrammas aspekti no biznesa loģikas. Vissvarīgākais, kas jums jāpatur prātā, izstrādājot aspektus, ir tas, ka tiem jābūt neatkarīgiem un tiem nav jābūt atkarīgiem no lietojumprogrammas. Jums vajadzētu būt iespējai pārbaudīt arī aspektus, kas nav neatkarīgi viens no otra. Pēc tam šie aspekti jāpielieto lietojumprogrammas pirmkodam, tos austot visur, kur tie nepieciešami lietojumprogrammai. Viens no veidiem, kā jūs varat ieviest AOP savās lietojumprogrammās, ir atribūtu izmantošana.

$config[zx-auto] not found$config[zx-overlay] not found