Verschil tussen AOP en OOP

Verschil tussen AOP en OOP
Verschil tussen AOP en OOP

Video: Verschil tussen AOP en OOP

Video: Verschil tussen AOP en OOP
Video: Wat is het Liberalisme? 2024, November
Anonim

AOP vs OOP

AOP (Aspect-georiënteerd programmeren) en OOP (Object-georiënteerd programmeren) zijn twee programmeerparadigma's. Een programmeerparadigma is een fundamentele stijl van computerprogrammeren. Programmeerparadigma's verschillen in hoe elk element van de programma's wordt weergegeven en hoe elke stap wordt gedefinieerd voor het oplossen van problemen. Zoals de naam al doet vermoeden, richt OOP zich op het weergeven van problemen met behulp van objecten uit de echte wereld en hun gedrag, terwijl AOP zich bezighoudt met het opsplitsen van de programma's om transversale problemen te scheiden.

Wat is AOP?

AOP is een programmeerparadigma, dat zich bezighoudt met het opsplitsen van een programma in samenhangende functionele gebieden (ook wel zorgen genoemd) die meerdere gebieden overspannen, om de modulariteit te vergroten. Ondersteuning voor abstracties (zoals klassen, methoden, enz.) om problemen te groeperen en in te kapselen in unieke entiteiten wordt geboden in veel andere programmeerparadigma's. Maar zorgen (zoals "logging") zijn voorbeelden van transversale zorgen, omdat elk gelogd deel van het systeem wordt beïnvloed door de strategie die wordt gebruikt voor het loggen. De belangrijkste focus van alle AOP-implementaties is om geschikte transversale uitdrukkingen te hebben om alle zorgen op één enkele locatie vast te leggen.

Wat is OOP?

In OOP ligt de nadruk op het nadenken over het op te lossen probleem in termen van elementen uit de echte wereld, en het weergeven van het probleem in termen van objecten en hun gedrag. Klassen verbeelden de abstracte representaties van objecten uit de echte wereld. Klassen zijn als blauwdrukken of sjablonen, die vergelijkbare items of dingen verzamelen die kunnen worden gegroepeerd. Klassen hebben eigenschappen die attributen worden genoemd. Attributen worden geïmplementeerd als globale en instantievariabelen. Methoden in de klassen vertegenwoordigen of definiëren het gedrag van deze klassen. Methoden en attributen van klassen worden de leden van de klasse genoemd. Een instantie van een klasse wordt een object genoemd. Daarom is een object een gegevensstructuur die sterk lijkt op een object uit de echte wereld.

Er zijn verschillende belangrijke OOP-concepten, zoals gegevensabstractie, inkapseling, polymorfisme, berichten, modulariteit en overerving. Meestal wordt inkapseling bereikt door de attributen privé te maken, terwijl openbare methoden worden gecreëerd die kunnen worden gebruikt om toegang te krijgen tot die attributen. Overerving stelt de gebruiker in staat om klassen (subklassen genoemd) uit te breiden van andere klassen (superklassen genoemd). Met polymorfisme kan de programmeur een object van een klasse vervangen door een object van zijn superklasse. Meestal worden de zelfstandige naamwoorden in de probleemdefinitie direct klassen in het programma. En op dezelfde manier worden werkwoorden methoden. Enkele van de meest populaire OOP-talen zijn Java en C.

Wat is het verschil tussen AOP en OOP?

Het belangrijkste verschil tussen OOP en AOP is dat de focus van OOP is om de programmeertaak op te splitsen in objecten, die gegevens en methoden inkapselen, terwijl de focus van AOP is om het programma op te splitsen in transversale problemen. In feite is AOP geen concurrent voor OOP, omdat het voortkwam uit het OOP-paradigma. AOP breidt OOP uit door enkele van zijn problemen aan te pakken. AOP introduceert handige manieren om transversale problemen (die mogelijk verspreid zijn over verschillende plaatsen in de bijbehorende OOP-implementatie) op één plek te implementeren. Daarom maakt AOP het programma schoner en losser gekoppeld.

Aanbevolen: