Az aspektusorientált szoftverfejlesztésben a több területet érintő problémák a program olyan részei, amelyek több szempontot is érintenek. Ezeket a szempontokat gyakran nem lehet tisztán szétválasztani a rendszer többi részétől sem a tervezés, sem a megvalósítás során, és ez szétszóródást (kódduplikáció), összegabalyodást (jelentős függőségek a rendszerek között) vagy mindkettőt eredményezheti.
Például, ha egy orvosi feljegyzések kezelésére szolgáló alkalmazást írunk, az ilyen feljegyzések indexelése központi kérdés, míg a feljegyzések adatbázisában vagy a felhasználói adatbázisban bekövetkezett változások előzményeinek naplózása, vagy egy hitelesítési rendszer több területet érintő kérdés lenne, mivel ezek a program több részével is kölcsönhatásba lépnek.
Háttér A több területet érintő problémák a program olyan részei, amelyek a rendszer számos más részétől függenek, vagy a rendszer számos más részét érintik. Ezek képezik a szempontok kidolgozásának alapját. Az ilyen több területet érintő szempontok nem illeszkednek egyértelműen az objektumorientált programozáshoz vagy a procedurális programozáshoz.
Az átfogó problémák közvetlenül felelősek lehetnek a programon belüli összefonódásokért vagy rendszerfüggőségekért. Mivel a procedurális és funkcionális nyelvi konstrukciók teljes egészében eljáráshívásokból állnak, nincs olyan szemantika, amelyen keresztül két cél (a megvalósítandó képesség és a kapcsolódó több területet érintő aggály) egyszerre kezelhető lenne. Ennek eredményeképpen a több területet érintő problémára vonatkozó kódot szét kell szórni, vagy duplikálni kell a különböző kapcsolódó helyeken, ami a modularitás elvesztését eredményezi.
Az aspektusorientált programozás célja, hogy a moduláris felépítés megőrzése érdekében az átfogó problémákat aspektusokba foglalják. Ez lehetővé teszi az átfogó problémákat kezelő kód tiszta elkülönítését és újrafelhasználását. Azáltal, hogy a tervezést a több területet érintő aggályokra alapozzuk, a szoftverfejlesztés előnyei közé tartozhat a modularitás és az egyszerűsített karbantartás.
Példák Példák azokra az problémákra, amelyek általában több területet érintőek:
Üzleti szabályok Gyorsítótárazás Kódmobilitás Adatellenőrzés Domainspecifikus optimalizálás Környezeti változók és egyéb globális konfigurációs beállítások Hibafelismerés és -javítás Nemzetköziesítés és lokalizáció, amely magában foglalja a nyelvi lokalizációt is Információbiztonság Logolás Memóriakezelés Monitoring Folyamatosság Termékjellemzők Valós idejű megszorítások Szinkronizálás Tranzakció-feldolgozás Környezetérzékeny súgó
Hivatkozások
Fordítás
Kapcsolódó szócikkek Szétválasztás elve Aspektusorientált programozás Kódrefaktorálás
Kategória:Szoftverfejlesztés