La programación orientada a aspectos es una materia en la que me ha sido muy difícil encontrar buena información. Mi antiguo libro de texto de Ingeniería de Software solo lo menciona brevemente (y vagamente), y la wikipedia y varios otros tutoriales/artículos que he podido encontrar en él brindan definiciones ultra académicas y altamente abstractas de lo que es, cómo usarlo. y cuándo usarlo. Definiciones Simplemente no parezco entender.Fundamentos de AOP
Mi (muy pobre) comprensión de AOP es que hay muchos aspectos de la producción de un sistema de software de alta calidad que no encaja perfectamente en un pequeño paquete cohesivo. Algunas clases, como Loggers, Validators, DatabaseQueries, etc., se usarán en toda la base de código y, por lo tanto, estarán altamente acopladas. Mi (una vez más, muy poor) comprensión de AOP es que está preocupado con las mejores prácticas de cómo manejar estos tipos de paquetes "universalmente acoplados".
Pregunta: ¿Es esto cierto o estoy totalmente equivocado? Si estoy completamente equivocado, ¿alguien puede dar una explicación concisa y profana de lo que es un AOP, un ejemplo de lo que se llama aspecto, y tal vez incluso proporcionar un ejemplo de código simple?
buen cuestión también muy bien en tela de juicio. –