Programación Orientada a Aspectos (POA)

Páginas: 5 (1009 palabras) Publicado: 14 de mayo de 2013
Tecnológico de Costa Rica Estudiantes:
Diseño de Software María Fernanda Coto Morales 201030718
Prof.: Daniel Madriz Huertas Kevin Martínez Montero 201029891
Programación Orientadaa Aspectos (POA) II Semestre 2012

Programación Orientada a Aspectos (POA)
La programación orientada a aspectos (POA) permite a los programadores escribir, ver y editar un aspecto esparcido por todo el sistema como una entidad por separado, de una manera inteligente, eficiente e intuitiva. Esto implica separar lafuncionalidad básica y los aspectos, y los aspectos entre sí, a través de mecanismos que permitan abstraerlos y componerlos para formar todo el sistema (Asteasuain & Ezequiel Contreras, 2002). La POA tiene como idea principal permitir que un programa sea construido describiendo cada concepto separadamente.

La separación de responsabilidades es un aspecto de gran importancia en el tema dedesarrollo de software pues  las partes semánticamente similares deben ser modulares y organizarse de una manera adecuada para lograr posteriormente una mayor reutilización y una menor replicación de código. Este enfoque es una forma alternativa de resolver los problemas que no pueden ser resueltos con la POO. La creación de la POA, se le atribuye a Gregor Kickzales en el año 1996 (Asteasuain & EzequielContreras, 2002).

Existen una serie de lenguajes conocidos como lenguajes orientados a aspectos (LOA), éstos son quienes dan soporte a este enfoque. Tales lenguajes brindan mecanismos y constructores para capturar aquellos elementos (aspectos) que se propagan por todo el sistema. Los LOA son aquellos lenguajes que permiten separar la definición de la funcionalidad pura de la definición de losdiferentes aspectos. Los LOA deben satisfacer varias propiedades deseables, entre ellas: cada aspecto debe ser claramente identificable; cada aspecto debe auto-contenerse; los aspectos deben ser fácilmente intercambiables; los aspectos no deben interferir entre ellos; y los aspectos no deben interferir con los mecanismos usados para definir y evolucionar la funcionalidad, como la herencia.

¿Cómoidentificar un aspecto?

Al momento de construir una propiedad, esta puede tomar una de las 2 siguientes formas:

1. Un componente: el cual puede encapsularse claramente dentro de un procedimiento generalizado. Un elemento es encapsulado si está bien localizado, es fácilmente accesible y resulta sencillo componerlo.
2. Un aspecto: el cual no puede encapsularse claramente en un procedimientogeneralizado. Los aspectos tienden a ser propiedades que afectan el rendimiento o la semántica de los componentes en forma sistemática.

Después de que han sido diferenciados los aspectos de los componentes, estamos en condiciones de definir a un aspecto como un concepto que no es posible encapsularlo claramente, y que resulta esparcido por todo el código. Los aspectos son la unidad básica de laprogramación orientada a aspectos. La definición más formal indica que un aspecto es una unidad modular que se disemina por la estructura de otras unidades funcionales. La existencia de los aspectos se da tanto en la etapa de diseño como en la de implementación.

Fundamentos de la POA

Tres requerimientos que son vitales en la POA son:

1. Un lenguaje para definir la funcionalidad básica,conocido como lenguaje base o componente.
2. Uno o varios lenguajes de aspectos, para especificar el comportamiento de los aspectos.
3. Un tejedor de aspectos (Weaver), que se encargará de combinar los lenguajes base y de aspectos anteriores. Todo el proceso se puede retrasar para hacerse ya sea en tiempo de ejecución o en tiempo de compilación.


Desarrollo orientado a aspectos (DOA)...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion orientada a aspectos
  • Programacion Orientada a Aspectos
  • Programación Orientada A Aspectos
  • Programación orientada a aspectos con spring
  • Programacion orientada a aspectos
  • programacion orientada
  • Programación Orientada
  • Programacion estructura y Programacion orientada a objetos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS