AOP ja OOP erinevus

AOP ja OOP erinevus
AOP ja OOP erinevus

Video: AOP ja OOP erinevus

Video: AOP ja OOP erinevus
Video: 8 klass ajalugu video nr 24 Uusaegsed ideoloogiad: liberalism, konservatism ja sotsialism 2024, November
Anonim

AOP vs OOP

AOP (Aspekt-orienteeritud programmeerimine) ja OOP (Objektorienteeritud programmeerimine) on kaks programmeerimisparadigmat. Programmeerimisparadigma on arvutiprogrammeerimise põhistiil. Programmeerimisparadigmad erinevad selle poolest, kuidas programmide iga element on esindatud ja kuidas iga samm on määratletud probleemide lahendamiseks. Nagu nimigi viitab, keskendub OOP probleemide esitamisele, kasutades reaalseid objekte ja nende käitumist, samas kui AOP tegeleb programmide jagamisega valdkondadevahelisteks probleemideks.

Mis on AOP?

AOP on programmeerimisparadigma, mis käsitleb programmi jaotamist ühtseteks funktsionaalsuspiirkondadeks (nn muredeks), mis läbivad mitut valdkonda, et suurendada modulaarsust. Abstraktsioonide (nagu klassid, meetodid jne) tugi, et rühmitada ja kapseldada muresid unikaalsetesse üksustesse, on saadaval paljudes teistes programmeerimisparadigmades. Kuid mured (nt "Logimine") on näited läbivatest probleemidest, sest logimiseks kasutatav strateegia mõjutab iga logitud süsteemi osa. Kõigi AOP-rakenduste põhirõhk on sobivate valdkondadevaheliste väljendite olemasolul, et kõik probleemid ühes kohas jäädvustada.

Mis on OOP?

OOP-is keskendutakse lahendatavale probleemile mõtlemisele reaalmaailma elementide kaudu ning probleemi esitamisele objektide ja nende käitumise kaudu. Klassid kujutavad reaalse maailma objektide abstraktseid esitusi. Klassid on nagu joonised või mallid, mis koondavad sarnaseid esemeid või asju, mida saab rühmitada. Klassidel on omadused, mida nimetatakse atribuutideks. Atribuudid rakendatakse globaalsete ja eksemplari muutujatena. Klasside meetodid esindavad või määratlevad nende klasside käitumist. Klasside meetodeid ja atribuute nimetatakse klassi liikmeteks. Klassi eksemplari nimetatakse objektiks. Seetõttu on objekt andmestruktuur, mis sarnaneb väga mõne reaalse maailma objektiga.

On mitmeid olulisi OOP kontseptsioone, nagu andmete abstraktsioon, kapseldamine, polümorfism, sõnumivahetus, modulaarsus ja pärimine. Tavaliselt saavutatakse kapseldamine atribuutide privaatseks muutmisega, luues samal ajal avalikud meetodid, mida saab kasutada nendele atribuutidele juurdepääsuks. Pärimine võimaldab kasutajal laiendada klasse (nn alamklassid) teistest klassidest (nimetatakse superklassideks). Polümorfism võimaldab programmeerijal asendada klassi objektiga selle superklassi objektiga. Tavaliselt muutuvad probleemi definitsioonis leitud nimisõnad programmis otse klassideks. Ja samamoodi muutuvad verbid meetoditeks. Mõned kõige populaarsemad OOP keeled on Java ja C.

Mis vahe on AOP ja OOP vahel?

Põhierinevus OOP-i ja AOP-i vahel on see, et OOP-i eesmärk on jagada programmeerimisülesanne objektideks, mis kapseldavad andmeid ja meetodeid, samas kui AOP-i fookus on programmi jaotamisel valdkondadevahelisteks probleemideks.. Tegelikult ei ole AOP OOP-i konkurent, kuna see tekkis OOP-i paradigmast. AOP laiendab OOP-i, lahendades mõned selle probleemid. AOP tutvustab häid viise valdkondadeüleste probleemide (mis võisid vastavas OOP-rakenduses olla hajutatud mitmes kohas) ühes kohas rakendamiseks. Seetõttu muudab AOP programmi puhtamaks ja lahtisemaks.

Soovitan: