Diferència entre AOP i OOP

Diferència entre AOP i OOP
Diferència entre AOP i OOP

Vídeo: Diferència entre AOP i OOP

Vídeo: Diferència entre AOP i OOP
Vídeo: Néolibéralisme 2024, De novembre
Anonim

AOP vs OOP

AOP (programació orientada a aspectes) i OOP (programació orientada a objectes) són dos paradigmes de programació. Un paradigma de programació és un estil fonamental de programació d'ordinadors. Els paradigmes de programació es diferencien en com es representa cada element dels programes i com es defineix cada pas per resoldre problemes. Com el seu nom indica, OOP se centra a representar problemes amb objectes del món real i el seu comportament, mentre que AOP s'ocupa de desglossar els programes per separar els problemes transversals.

Què és AOP?

AOP és un paradigma de programació, que s'ocupa de descompondre un programa en àrees de funcionalitat cohesionades (anomenades preocupacions) que tallen múltiples àrees, per tal d'augmentar la modularitat. El suport per a les abstraccions (com classes, mètodes, etc.) per agrupar i encapsular preocupacions en entitats úniques es proporciona en molts altres paradigmes de programació. Però les preocupacions (com ara "Registre") són exemples de preocupacions transversals, perquè cada part registrada del sistema es veu afectada per l'estratègia utilitzada per al registre. L'objectiu principal de totes les implementacions d'AOP és tenir expressions transversals adequades per capturar totes les preocupacions en una única ubicació.

Què és la POO?

A la POO, l'enfocament se centra en pensar el problema a resoldre en termes d'elements del món real i representar el problema en termes d'objectes i el seu comportament. Les classes representen les representacions abstractes d'objectes del món real. Les classes són com plànols o plantilles, que recullen elements o coses similars que es poden agrupar. Les classes tenen propietats anomenades atributs. Els atributs s'implementen com a variables globals i d'instància. Els mètodes de les classes representen o defineixen el comportament d'aquestes classes. Els mètodes i els atributs de les classes s'anomenen membres de la classe. Una instància d'una classe s'anomena objecte. Per tant, un objecte és una estructura de dades que s'assembla molt a algun objecte del món real.

Hi ha diversos conceptes de POO importants com ara l'abstracció de dades, l'encapsulació, el polimorfisme, la missatgeria, la modularitat i l'herència. Normalment, l'encapsulació s'aconsegueix fent que els atributs siguin privats, alhora que es creen mètodes públics que es poden utilitzar per accedir a aquests atributs. L'herència permet a l'usuari ampliar classes (anomenades subclasses) d' altres classes (anomenades superclasses). El polimorfisme permet al programador substituir un objecte d'una classe en lloc d'un objecte de la seva superclasse. Normalment, els substantius que es troben a la definició del problema es converteixen directament en classes del programa. I de la mateixa manera, els verbs esdevenen mètodes. Alguns dels llenguatges OOP més populars són Java i C.

Quina diferència hi ha entre AOP i OOP?

La diferència clau entre OOP i AOP és que l'enfocament de la POO és desglossar la tasca de programació en objectes, que encapsulen dades i mètodes, mentre que l'enfocament de l'AOP és desglossar el programa en preocupacions transversals.. De fet, AOP no és un competidor de la POO, perquè va sorgir del paradigma de la POO. AOP amplia la POO abordant alguns dels seus problemes. AOP introdueix maneres senzilles d'implementar les preocupacions transversals (que podrien haver estat disperses en diversos llocs a la implementació de POO corresponent) en un sol lloc. Per tant, AOP fa que el programa sigui més net i acoblat de manera més fluixa.

Recomanat: