Tähän artikkeliin tai osioon ei ole merkitty lähteitä, joten tiedot kannattaa tarkistaa muista tietolähteistä. Voit auttaa Wikipediaa lisäämällä artikkeliin tarkistettavissa olevia lähteitä ja merkitsemällä ne ohjeen mukaan. |
Aspektiohjelmointi (engl. aspect-oriented programming, lyh. AOP) on ohjelmointiparadigma ja osa ohjelmistotuotantoa jonka tavoitteena on saada ohjelmistoissa toistuvat, ns. läpileikkaavat (cross cutting) toiminnallisuudet määriteltyä erillisenä osana varsinaisesta ohjelmakoodista, tehden mm. varsinaisesta ohjelmakoodista (perusohjelma) siistimpää. Läpileikkaavilla ominaisuuksilla tarkoitetaan toiminnallisuuksia jotka toistuvat ohjelman eri osissa. Sana "aspekti" tarkoittaa suomeksi näkökohtaa tai näkökantaa. Aspektiohjelmoinnissa aspektilla tarkoitetaan asiaa tai ongelmaa jota yksittäinen aspektikuvaus pyrkii käsittelemään. Esimerkkejä yleisistä erilaisista aspekteista voisivat olla erilaiset tietoturvaan liittyvät asiat, tunnistautuminen, lokitus, virheenkäsittely tai muu ohjelmistolle ominainen ns. bisneslogiikka.
Aspektiohjelmointi on tuettuna ja käytettävissä erillisenä lisäosana esimerkiksi ohjelmistokehys Springssä.[1]