Programación orientada a Aspectos
¿Qué es un aspecto?: Los aspectos son propiedades que afectan la performance o la semántica
de los componentes en forma sistemática.
En los últimos años
ha aparecido un nuevo paradigma de programación, denominado Programación
Orientada a Aspectos (AOP), que pretende mejorar el ya tradicional enfoque de
Programación Orientado a Objetos (OOP), cuya intención es permitir una adecuada
modularización de las aplicaciones y posibilitar una mejor separación de
incumbencias.
Lenguajes
orientados a Aspectos: C++, Lisp, Java, ML, Weaver, AspectJ, COOL, etc.
Diseñar un sistema
basado en aspectos requiere entender qué debe incluir el lenguaje base, los lenguajes de aspectos y qué debe compartirse
entre ambos lenguajes. El lenguaje componente debe proveer la forma de
implementar la funcionalidad básica y asegurar que los programas escritos en
ese lenguaje-componente no interfieran con los aspectos. Los lenguajes de aspectos
tienen que proveer los medios para implementar los aspectos deseados de una
manera intuitiva, natural y concisa.
El desarrollo de
una aplicación basada en aspectos consta de tres pasos: Descomposición de
aspectos, implementación de requerimientos y descomposición.
La principal
ventaja que nos brinda usar este tipo de paradigma de programación, nos
permite tratar la funcionalidad pura por
un lado, y los aspectos por otro cada uno de forma separada. Luego ambos se combinan
para dar por resultado el sistema final.
Además, existen muy
buenas referencias de aplicaciones creadas bajo este paradigma (Rod Johnson y
Renaud Pawlak, famosos programadores que han usado la POA) solucionando ciertas
problemáticas que afectan a las aplicaciones “Enterprise” como seguridad,
manejo de excepciones y persistencia.
Fuente:
Departamento de Ciencias e Ingeniería de la Computación – Universidad Nacional
del Sur / Bahía Blanca.
Buenos Aires. Argentina
0 comentarios:
Publicar un comentario