En ingeniería de software, el paradigma de programación de la programación orientada a aspectos AOP, también llamado desarrollo de software orientado a aspectos AOSD, intenta ayudar a los programadores a separar las preocupaciones o dividir un programa en partes distintas quesolapamiento en la funcionalidad lo menos posible