Video: Leap Motion SDK 2025
Objektorienterte (OO) teknikker bygger på prinsippet om at ansvar og bekymringer sammen kan grupperes sammen og innkapsles inn i En enhet - som en klasse. Noen ansvar kan imidlertid ikke innkapsles ved hjelp av standardteknikkene som er tilgjengelige på OO-språk. Disse ansvarene kalles kryssende bekymringer fordi de "kutter over" flere deler av et program. Logging er et slikt problem, fordi du må implementere logging i alle deler av systemet. Den eneste måten å sikre at alle systemkomponenter logger seg på, og på vanlig måte, er imidlertid å sette inn kode manuelt når det er aktuelt.
Med Aspect-orienterte programmeringsverktøy (AOP) kan du spesifisere på ett sted i programmet hvordan du planlegger å ta opp et kryssproblem. Verktøyene genererer deretter implementeringen og setter den inn på alle nødvendige steder i koden din.
Følgende eksempel viser bruken av AOP i implementeringen av en stabel.
aspekt AddLogging {- push (ItemType * item) {AddLogging. info (@ "Pushing item", element)} - (ItemType *) pop {AddLogging. Info (@ "Popping item", returnedItem);} // Andre kryssingskode.}
