AOP vs OOP
AOP (Aspekt-georiënteerde programmering) en OOP (Objek-georiënteerde programmering) is twee programmering paradigmas. 'n Programmeringsparadigma is 'n fundamentele styl van rekenaarprogrammering. Programmeringsparadigmas verskil in hoe elke element van die programme voorgestel word en hoe elke stap gedefinieer word vir die oplossing van probleme. Soos die naam aandui, fokus OOP daarop om probleme voor te stel met die gebruik van werklike voorwerpe en hul gedrag, terwyl AOP handel oor die afbreek van die programme in 'n afsonderlike dwarssnit-kwessies.
Wat is AOP?
AOP is 'n programmeringsparadigma wat handel oor die afbreek van 'n program in samehangende areas van funksionaliteit (genoem bekommernisse) wat oor verskeie gebiede strek, om modulariteit te verhoog. Ondersteuning vir abstraksies (soos klasse, metodes, ens.) om bekommernisse in unieke entiteite te groepeer en in te kapsuleer, word in baie ander programmeringsparadigmas verskaf. Maar bekommernisse (soos “Logboek”) is voorbeelde van dwarssnyde bekommernisse, want elke aangetekende deel van die stelsel word beïnvloed deur die strategie wat vir aanteken gebruik word. Die hooffokus van alle AOP-implementerings is om geskikte kruissny-uitdrukkings te hê om alle bekommernisse op 'n enkele plek vas te lê.
Wat is OOP?
In OOP is die fokus daarop om te dink oor die probleem wat opgelos moet word in terme van werklike wêreldelemente, en om die probleem in terme van voorwerpe en hul gedrag voor te stel. Klasse beeld die abstrakte voorstellings van werklike wêreldobjekte uit. Klasse is soos bloudrukke of sjablone, wat soortgelyke items of dinge versamel wat saam gegroepeer kan word. Klasse het eienskappe wat eienskappe genoem word. Eienskappe word geïmplementeer as globale en instansie veranderlikes. Metodes in die klasse verteenwoordig of definieer die gedrag van hierdie klasse. Metodes en eienskappe van klasse word die lede van die klas genoem. 'n Geval van 'n klas word 'n objek genoem. Daarom is 'n objek 'n datastruktuur wat baie ooreenstem met een of ander werklike wêreldvoorwerp.
Daar is verskeie belangrike OOP-konsepte soos Dataabstraksie, Encapsulation, Polymorphism, Messaging, Modularity and Inheritance. Tipies word inkapseling bereik deur die eienskappe privaat te maak, terwyl openbare metodes geskep word wat gebruik kan word om toegang tot daardie eienskappe te verkry. Oorerwing laat die gebruiker toe om klasse (genoem subklasse) uit ander klasse (genoem superklasse) uit te brei. Polimorfisme laat die programmeerder toe om 'n voorwerp van 'n klas te vervang in die plek van 'n voorwerp van sy superklas. Tipies word die selfstandige naamwoorde wat in die probleemdefinisie gevind word, direk klasse in die program. En insgelyks word werkwoorde metodes. Sommige van die gewildste OOP-tale is Java en C.
Wat is die verskil tussen AOP en OOP?
Die sleutelverskil tussen OOP en AOP is dat die fokus van OOP is om die programmeringstaak af te breek in voorwerpe, wat data en metodes inkapsuleer, terwyl die fokus van AOP is om die program af te breek in dwarsliggende bekommernisse. Trouens, AOP is nie 'n mededinger vir OOP nie, want dit het uit OOP-paradigma ontstaan. AOP brei OOP uit deur min van sy probleme aan te spreek. AOP stel netjiese maniere bekend om oorkruisingskwessies (wat oor verskeie plekke in die ooreenstemmende OOP-implementering versprei kon gewees het) op 'n enkele plek te implementeer. Daarom maak AOP die program skoner en meer los gekoppel.