Skirtumas tarp AOP ir OOP

AOP vs OOP

AOP (į aspektą orientuotas programavimas) ir OOP (į objektą orientuotas programavimas) yra dvi programavimo paradigmos. Programavimo paradigma yra pagrindinis kompiuterio programavimo stilius. Programavimo paradigmos skiriasi tuo, kaip vaizduojamas kiekvienas programų elementas ir kaip apibrėžiamas kiekvienas žingsnis problemoms spręsti. Kaip rodo pavadinimas, OOP pagrindinis dėmesys skiriamas problemų vaizdavimui naudojant realaus pasaulio objektus ir jų elgesį, o AOP - programų suskaidymas į atskiras kryžmines problemas..

Kas yra AOP?

AOP yra programavimo paradigma, kuri skirta suskaidyti programą į darnias funkcines sritis (vadinamąsias problemas), kurios apima kelias sritis, kad būtų padidintas moduliškumas. Parama abstrakcijoms (tokioms, kaip klasės, metodai ir kt.) Grupuoti ir sujungti rūpesčius į unikalius subjektus teikiama daugelyje kitų programavimo paradigmų. Tačiau susirūpinimą keliantys susirūpinimą keliantys klausimai (pvz., „Registravimas“) yra kryžminių problemų pavyzdžiai, nes kiekvienai prisijungusiai sistemos daliai turi įtakos registracijai naudojama strategija. Pagrindinis visų AOP diegimų akcentas yra tinkamos kryžminės išraiškos, kad visos problemos būtų išdėstytos vienoje vietoje.

Kas yra OOP?

OOP metu pagrindinis dėmesys skiriamas problemos, kurią reikia išspręsti realaus pasaulio elementais, apmąstymui ir problemos vaizdavimui objektų ir jų elgesio požiūriu. Klasėse vaizduojamos abstrakčios realaus pasaulio objektų reprezentacijos. Klasės yra tarsi brėžiniai ar šablonai, kuriuose kaupiami panašūs daiktai ar daiktai, kuriuos galima sugrupuoti. Klasės turi savybes, vadinamas atributais. Atributai įgyvendinami kaip visuotiniai ir egzempliorių kintamieji. Klasių metodai parodo arba apibūdina šių klasių elgesį. Užsiėmimų metodai ir požymiai vadinami klasės nariais. Klasės egzempliorius vadinamas objektu. Todėl objektas yra duomenų struktūra, kuri labai primena tam tikrą realaus pasaulio objektą.

Yra keletas svarbių OOP sąvokų, tokių kaip duomenų abstrakcija, kapsuliavimas, polimorfizmas, pranešimų siuntimas, moduliavimas ir paveldimumas. Paprastai inkapsuliacija pasiekiama padarant atributus privačius, o sukuriant viešus metodus, kuriuos galima naudoti tiems atributams pasiekti. Paveldimumas leidžia vartotojui išplėsti klases (vadinamas antrinėmis klasėmis) iš kitų klasių (vadinamų superklasėmis). Polimorfizmas leidžia programuotojui pakeisti klasės objektą vietoje savo superklasės objekto. Paprastai problemos apibrėžime rasti daiktavardžiai programoje tiesiogiai tampa klasėmis. Panašiai veiksmažodžiai tampa metodais. Kai kurios iš populiariausių OOP kalbų yra „Java“ ir C #.

Kuo skiriasi AOP nuo OOP?

Pagrindinis skirtumas tarp OOP ir AOP yra tas, kad OOP tikslas yra suskirstyti programavimo užduotį į objektus, kurie apima duomenis ir metodus, tuo tarpu AOP pagrindinis tikslas yra suskaidyti programą, kad būtų įveikti visi susirūpinimą keliantys klausimai. Tiesą sakant, AOP nėra OOP konkurentas, nes atsirado iš OOP paradigmos. AOP išplečia OOP, spręsdamas kelias savo problemas. AOP pristato tvarkingus būdus, kaip vienoje vietoje įgyvendinti kirtimo problemas (kurios galėjo būti išsklaidytos keliose vietose atitinkamame OOP įgyvendinime). Todėl AOP programa tampa švaresnė ir laisvesnė.