paradigmas




Programación
 Orientada a
  Aspectos
¿Qué es POA?
Nuevo paradigma de programación

Enfoque estructurado: procedimientos o acciones

Enfoque orientado a objetos...
¿Por qué POA?

Existen conceptos que no pueden encapsularse
dentro de una unidad funcional, debido a que
atraviesan todo e...
Cronología Histórica

Primera generación: código spaghetti

Segunda y tercera generación: descomposición
funcional

Cuarta...
El Desarrollo
Orientado a Aspectos
Requiere de tres elementos básicos:


Un lenguaje para definir la funcionalidad b·sica, ...
Diferenciación
En una primera impresión, la programación orientada a aspectos y
la programación orientada a objetos pareci...
Diferenciación
...hablemos mal de POA
 Posibles choques entre el código funcional (expresado en el lenguaje base) y
 el código de aspecto...
Ventajas
Permite una implementación modularizada reduciendo el acoplamiento
entre sus partes.

El código es más limpio, me...
Conclusiones
La programación orientada a aspectos es un nuevo paradigma que
adolece de madurez y formalidad, necesita ser ...
preguntas...
Próxima SlideShare
Cargando en…5
×

Programación Orientada a Aspectos (POA)

10.564 visualizaciones

Publicado el

Publicado en: Tecnología
0 comentarios
5 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
10.564
En SlideShare
0
De insertados
0
Número de insertados
224
Acciones
Compartido
0
Descargas
218
Comentarios
0
Recomendaciones
5
Insertados 0
No insertados

No hay notas en la diapositiva.

Programación Orientada a Aspectos (POA)

  1. 1. paradigmas Programación Orientada a Aspectos
  2. 2. ¿Qué es POA? Nuevo paradigma de programación Enfoque estructurado: procedimientos o acciones Enfoque orientado a objetos: datos encapsulados en clases Existen funciones que son más difíciles de modularizar que otras, generando un problema conocido como código diseminado. La principal razón de que el código diseminado se presente es debida a las diferentes formas que un servicio este disponible y la forma en que este es usado. El código diseminado en una aplicación retrasa el desarrollo, mantenimiento y evolución de un programa.
  3. 3. ¿Por qué POA? Existen conceptos que no pueden encapsularse dentro de una unidad funcional, debido a que atraviesan todo el sistema o varias partes de él, como lo son la sincronización, el manejo de memoria, el manejo de errores, perfiles, seguridad o redes
  4. 4. Cronología Histórica Primera generación: código spaghetti Segunda y tercera generación: descomposición funcional Cuarta generación: descomposición en objetos Quinta generación: descomposición en aspectos
  5. 5. El Desarrollo Orientado a Aspectos Requiere de tres elementos básicos: Un lenguaje para definir la funcionalidad b·sica, conocido como lenguaje base o componente. Podría ser un lenguaje como C#, C++, Java o Lisp. Uno o varios lenguajes de aspectos, para especificar el comportamiento de los aspectos. Como podrían ser COOL para sincronización o RIDL para distribución. Un tejedor de aspectos (aspect weaver) que produce una aplicación que integra las funcionalidades de las clases y los aspectos. Tal proceso se puede llevar acabo en tiempo de ejecución o en tiempo de compilación.
  6. 6. Diferenciación En una primera impresión, la programación orientada a aspectos y la programación orientada a objetos pareciera que son en realidad el mismo paradigma, no obstante, esta noción es errónea. En la programación orientada a objetos los sistemas se modelan como un conjunto de objetos que interactúan entre sÌ, sin embargo, falla al modelar los conceptos que se entrecruzan. La diferencia radica en que mientras la programación orientada a aspectos se enfoca en los conceptos que se entrecruzan, la programación orientada a objetos se enfoca en los conceptos comunes. sigue ->
  7. 7. Diferenciación
  8. 8. ...hablemos mal de POA Posibles choques entre el código funcional (expresado en el lenguaje base) y el código de aspectos (expresados en los lenguajes de aspectos). Posibles choques entre el código de aspectos y los mecanismos del lenguaje, uno de los ejemplos más conocidos de este problema es la anomalía de herencia. Posibles choques entre los aspectos, un ejemplo clásico es tener dos aspectos que trabajan perfectamente por separado pero al aplicarlos conjuntamente resultan en un comportamiento anormal. Los lenguajes orientados a aspectos actuales no cuentan con mecanismos lingüísticos suficientemente poderosos para respetar por completo todos los principios de diseño, como por ejemplo, el encapsulamiento.
  9. 9. Ventajas Permite una implementación modularizada reduciendo el acoplamiento entre sus partes. El código es más limpio, menos duplicado, más fácil de entender y de mantener. Elimina los problemas causados por el código mezclado y el código diseminado. Mayor reutilización, los aspectos tienen mayores probabilidades de ser reutilizados en otros sistemas con requerimientos similares. Los sistemas son más adaptables a cambios, la separación de conceptos permite agregar nuevos aspectos, modificarlos o removerlos fácilmente.
  10. 10. Conclusiones La programación orientada a aspectos es un nuevo paradigma que adolece de madurez y formalidad, necesita ser desarrollada más exhaustivamente aun para consolidar sus conceptos. La programación orientada a aspectos es el comienzo de un nuevo paradigma, apenas se esta descubriendo su potencialidad, sus problemas, y sus posibles soluciones, lo que nos hace pensar que es una de las ramas con mayor futuro dentro de la ingeniería de software. Los lenguajes orientados a aspectos actuales, no cuentan con mecanismos lingüísticos suficientemente poderosos para respetar por completo todos los principios de diseño.
  11. 11. preguntas...

×