Definición de AOP
Periodista esp. e investigador
La modularidad, eso es, poder dividir una tarea compleja en varios componentes interrelacionados entre ellos pero suficientemente independientes como para que puedan ser reutilizados, tanto a lo largo de la ejecución del mismo programa como en otros desarrollos, es uno de los “santos griales” de la programación.
Es por ello que no debe extrañarnos que, a lo largo de los años en los que disfrutamos de la ciencia informática, hayan aparecido varias filosofías de programación que buscan llevar a la práctica esta filosofía de reutilización de código fuente y numerosos lenguajes de programación que la implementan.
Una de estas filosofías es la programación orientada a objetos, y su evolución natural que busca ir un paso más allá es la programación orientada a aspectos, AOP por sus siglas en inglés (aspect oriented programming)
Entendemos la AOP como la manera de diseñar y estructurar el código fuente de una aplicación informática, de forma que sus diversos elementos queden encapsulados y bien definidos para su posterior reutilización.
Gracias a la AOP, la lectura del código fuente referido a un objeto (su definición y acciones que podemos realizar con él) permite al lector entenderlo como un todo sin necesitar un contexto mayor, lo que ayuda por una parte a disminuir la reiteración de código fuente y, por otra, a modularizar completamente las aplicaciones.
La A de AOP corresponde a Aspecto, y este denota una funcionalidad transversal a toda la aplicación que se implementará en un módulo separado de la parte más funcional del programa.
Es, conceptualmente, algo que se utiliza repetidas veces y en lugares diferentes del código fuente de una aplicación, y que se encapsula y aísla del resto del código para, de esta forma, poder modificarlo sin que ello afecte al resto del código fuente.
De esta forma, un aspecto puede ser llamado desde cualquier parte del código sin requerir el conocimiento de cómo funciona internamente por parte del programador, con la cual cosa la AOP también facilita el trabajo de un equipo de desarrolladores, ya que unos no deben necesariamente conocer los detalles de cómo funciona internamente el código fuente creado por los demás.
El Consejo es la implementación en código de un aspecto.
Constituye un módulo de la aplicación, autocontenido y que puede tanto ser llamado desde diversas partes del código de la misma aplicación para la que ha sido desarrollado, como reutilizado en otras aplicaciones que deban hacer uso del mismo aspecto, ya que su encapsulamiento es total.
La referencia a un aspecto dentro del código fuente se llama Punto de Unión o de Cruce (en inglés, Joint Point).
El punto de unión es una llamada a un método, que será el consejo. Lo único que lo diferencia de otra llamada convencional es la encapsulación del objeto de la llamada.
Constituye una forma de modificar la funcionalidad de una aplicación sobre un elemento dado sin tener que realizar cambios en el código fuente, modificando algunos de sus aspectos (y, de ahí, el nombre de esta filosofía y forma de desarrollo).
Al ser un a filosofía de programación, la AOP se puede llevar a cabo en lenguajes ya existentes, no hace falta la creación de nuevos lenguajes.
Existen, eso sí, frameworks que nos facilitan dicha tarea para lenguajes ya existentes, como es el caso de C++ o PHP. Es el caso de Spring para Java, AspectC++ para C++, o Aspyct AOP para Python.
Foto: Fotolia – Ainoa
Trabajo publicado en: Ene., 2018.
Escriba un comentario
Contribuya con su comentario para sumar valor, corregir o debatir el tema.Privacidad: a) sus datos no se compartirán con nadie; b) su email no será publicado; c) para evitar malos usos, todos los mensajes son moderados.