AOP proti OOP
AOP (Aspektno programirano) in OOP (Object-orientacijsko programiranje) sta dve programski paradigmi. Programska paradigma je temeljni slog računalniškega programiranja. Programske paradigme se razlikujejo po predstavitvi vsakega elementa programov in kako je vsak korak opredeljen za reševanje problemov. Kot že ime pove, se OOP osredotoča na predstavljanje težav pri uporabi predmetov iz resničnega sveta in njihovega vedenja, medtem ko se AOP ukvarja z razčlenitvijo programov, da bi ločil težave s križanjem.
Kaj je AOP?
AOP je programska paradigma, ki obravnava razčlenitev programa na kohezivna področja funkcionalnosti (imenovana vprašanja), ki presegajo več področij, da bi povečali modularnost. Podpora abstrakcijam (kot so razredi, metode itd.) Za združevanje in inkapsuliranje vprašanj v edinstvene entitete je na voljo v mnogih drugih programskih paradigmah. Toda pomisleki (na primer »beleženje«) so primeri navzkrižnega zastavljanja, ker strategija, ki se uporablja za beleženje, vpliva na vsak zabeleženi del sistema. Glavni poudarek vseh AOP implementacij je, da imajo ustrezne izraze za navzkrižno rezanje, da zajamejo vse pomisleke na enem mestu.
Kaj je OOP?
V OOP je poudarek na razmišljanju o problemu, ki ga je treba rešiti z elementi iz resničnega sveta, in predstavljanju problema v smislu predmetov in njihovega vedenja. Razredi prikazujejo abstraktne predstavitve predmetov iz resničnega sveta. Razredi so kot načrti ali predloge, ki zbirajo podobne predmete ali stvari, ki jih je mogoče združiti. Razredi imajo lastnosti, imenovane atributi. Atributi se izvajajo kot globalne in primerke spremenljivk. Metode v razredih predstavljajo ali opredeljujejo vedenje teh razredov. Metode in atributi razredov se imenujejo člani razreda. Primerek razreda se imenuje objekt. Predmet je torej podatkovna struktura, ki zelo spominja na neki predmet iz resničnega sveta.
Obstaja več pomembnih konceptov OOP, kot so abstrakcija podatkov, enkapsulacija, polimorfizem, sporočanje sporočil, modularnost in dedovanje. Običajno je kapsulacija dosežena tako, da atributi postanejo zasebni, hkrati pa ustvarijo javne metode, ki jih je mogoče uporabiti za dostop do teh lastnosti. Dedovanje uporabniku omogoča razširitev razredov (imenovanih podklasi) iz drugih razredov (imenovanih super klase). Polimorfizem omogoča programerju, da zamenja objekt razreda namesto predmeta njegovega super razreda. Običajno samostalniki, ki jih najdemo v definiciji problema, postanejo razredi v programu. In podobno glagoli postanejo metode. Nekateri najbolj priljubljeni jeziki OOP so Java in C #.
Kakšna je razlika med AOP in OOP?
Ključna razlika med OOP in AOP je v tem, da je cilj OOP-a razčleniti programsko nalogo na objekte, ki zajemajo podatke in metode, medtem ko je poudarek AOP-a razčlenitev programa na zaskrbljujoče skrbi. AOP v resnici ni konkurenca OOP-u, ker je nastal iz paradigme OOP. AOP razširja OOP tako, da odpravi nekaj svojih težav. AOP uvaja čedne načine za uresničevanje pomislekov o križanju (ki so bili morda razpršeni na več mestih v ustrezni izvedbi OOP) na enem mestu. Zato AOP naredi program čistejši in ohlapneje povezan.