Aspect-Oriented Programming (AOP) on ohjelmointiparadigma , joka perustuu ajatukseen toimintojen erottamisesta ohjelman osioinnin parantamiseksi moduuleiksi .
AOP - metodologiaa ehdotti ryhmä Xerox PARC -tutkimuskeskuksen insinöörejä, joita johti Gregor Kiczales. He kehittivät myös Java-kielelle näkösuuntautuneen laajennuksen , nimeltään AspectJ - (2001).
Nykyiset ohjelmointiparadigmat - proseduaalinen , modulaarinen , olio -ohjelmointi (OOP) ja toimialuesuuntautunut suunnittelu - tarjoavat tiettyjä tapoja erottaa ja korostaa toiminnallisuutta: funktioita , moduuleja , luokat , mutta joitain ehdotettuja menetelmiä käyttäviä toimintoja ei voida erottaa erillisiksi kokonaisuuksiksi. Tällaista toiminnallisuutta kutsutaan päästä- päähän ( englanniksi hajallaan - hajallaan tai englanniksi tangled - kietoutuneeksi), koska sen toteutus on hajautettu eri ohjelmamoduulien kesken. Päästä päähän -toiminnallisuus johtaa hajanaiseen ja hämmentävään koodiin, jota on vaikea ymmärtää ja ylläpitää.
Kirjaaminen ja poikkeusten käsittely ovat tyypillisiä esimerkkejä monialaisista toiminnoista. Muita esimerkkejä: jäljitys ; käyttöoikeuksien todennus ja todentaminen ; sopimusohjelmointi (erityisesti ennakko- ja jälkiehtojen tarkistaminen). OOP-paradigmassa kirjoitetussa ohjelmassa kaikki toiminnot, joita ei ole hajotettu , kulkevat läpi.
Kuitenkin joidenkin tekijöiden [1] mukaan AOP:ta voidaan käyttää menestyksekkäästi myös turvallisuuteen, monisäikeisiin , tapahtumien hallintaan ja moniin muihin liittyvien ongelmien ratkaisemiseen.
Kaikki AOP-kielet tarjoavat keinon eristää päästä päähän -toiminnallisuus erilliseksi kokonaisuudeksi. Koska AspectJ on tämän suunnan esi-isä, tässä laajennuksessa käytetyt käsitteet ovat levinneet useimpiin AOP-kieliin.
AOP:n peruskäsitteet:
Ohjelmistokehitys | |
---|---|
Prosessi | |
Korkean tason käsitteet | |
Ohjeet |
|
Kehittämismenetelmät _ | |
Mallit |
|
Merkittäviä lukuja |
|