De todo lo que he aprendido sobre "Programación orientada a aspectos" o "Desarrollo de software orientado a aspectos", etiquetarlo como un paradigma o metodología de programación parece ser inexacto. Por lo que puedo decir, no es una técnica fundamental para la programación.
Para precisar qué se entiende por "paradigma" y "metodología", consulte las siguientes definiciones del American Heritage Dictionary. Compare qué tan bien o mal se aplica la "Programación Orientada a Objetos" a cada uno versus qué tan bien se ajusta el AOP.
Paradigma: conjunto de supuestos, conceptos, valores y prácticas que constituyen una forma de ver la realidad para la comunidad que los comparte, especialmente en una disciplina intelectual.
Metodología: conjunto de prácticas, procedimientos y reglas utilizados por quienes trabajan en una disciplina o realizan una investigación; Un conjunto de métodos de trabajo.
La "medicina basada en la evidencia" satisface la definición de paradigma, pero la "medicina basada en la histerectomía" sería un nombre inapropiado porque el espacio del problema es demasiado estrecho.
Tengo la impresión de que AOP puede tener un nombre incorrecto porque, basándose en el sufijo de "programación orientada", AOP alega ser tanto un paradigma como una metodología de la misma manera que lo es la "Programación orientada a objetos".
Ambos términos (paradigma y metodología) indican una técnica fundamental, donde lo que entiendo sobre los aspectos es una tecnología para resolver un alcance de problema estrecho, quizás comparable en magnitud a la característica variable estática de Java.
Si es cierto que los aspectos resuelven un conjunto limitado de problemas, y AOP no es un nombre inapropiado, entonces, ¿por qué no todas las técnicas de programación deberían recibir el sufijo "programación orientada a la herencia", como "programación orientada a la herencia", "dependencia- programación orientada "o" ¿programación orientada al alcance?