A szempont-orientált programozás (AOP) egy programozási paradigma , amely a funkcionalitás szétválasztásán alapul, hogy javítsa a programok modulokba történő particionálását .
Az AOP módszertant a Xerox PARC Kutatóközpont mérnökeiből álló csoport javasolta Gregor Kiczales vezetésével. Kifejlesztettek egy szempont-orientált kiterjesztést a Java nyelvhez , AspectJ - (2001) néven.
A meglévő programozási paradigmák - procedurális , moduláris , objektum-orientált programozás (OOP) és tartomány-orientált tervezés - biztosítanak bizonyos módokat a funkcionalitás elkülönítésére és kiemelésére: függvények , modulok , osztályok , de a javasolt módszereket használó egyes funkciókat nem lehet külön entitásokra szétválasztani. Az ilyen funkcionalitást végponttól végpontig ( angol szórvány - szórt vagy angol tangled - összefonódott) nevezzük , mivel megvalósítása a különböző programmodulok között megoszlik. A végpontok közötti funkcionalitás szétszórt és zavaros kódhoz vezet, amelyet nehéz megérteni és karbantartani.
A naplózás és a kivételkezelés tipikus példák az átfogó funkciókra. Egyéb példák: nyomkövetés ; hozzáférési jogok hitelesítése és ellenőrzése ; szerződések programozása (különösen az elő- és utófeltételek ellenőrzése). Az OOP paradigmában írt program esetén minden olyan funkció, amelyet nem bontottak ki, áthaladó.
Egyes szerzők szerint [1] azonban az AOP sikeresen használható biztonsági, többszálú , tranzakciókezelési és sok más probléma megoldására is.
Minden AOP nyelv lehetőséget biztosít a végpontok közötti funkcionalitás külön entitásba történő elkülönítésére. Mivel az AspectJ ennek az iránynak az őse, a kiterjesztésben használt fogalmak a legtöbb AOP nyelvre elterjedtek.
Az AOP alapfogalmai:
Szoftverfejlesztés | |
---|---|
Folyamat | |
Magas szintű koncepciók | |
Útvonalak |
|
Fejlesztési módszertanok | |
Modellek |
|
Figyelemre méltó alakok |
|