Programación Orientada A Aspectos

Páginas: 22 (5399 palabras) Publicado: 26 de junio de 2012
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A ASPECTOS

Indice:
1.
2.
3.
4.
5.

Introducción
Historia
¿Qué es un aspecto?
Fundamentos de la programación orientada a aspectos
Diseño de aplicaciones orientadas a aspectos
5.1. Lenguajes orientados a aspectos
5.2. Lenguajes Orientados a Aspectos de dominio específico
5.3. Lenguajes Orientados a Aspectos de propósito general
5.4. LOAde dominio específico vs. LOA de propósito general
5.5. Ejemplos de Lenguajes Orientados a Aspectos.
5.5.1. D
5.5.1.1. COOL
5.5.1.2. RIDL
5.5.2. MALAJ
5.5.3. AspectC
5.5.4. AspectC++
5.5.5. AspectJ
6. Comparación POA vs. POO
7. POA: Ventajas y desventajas
7.1. Ventajas
7.2. Desventajas
8. Ejemplo Programación Orientada a Aspectos
9. Conclusión y opinión personal
10. Bibliografía INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A ASPECTOS

1 Introducción:
En el desarrollo de una aplicación existen varias tareas que se han de
realizar. Estas tareas pueden ser principales o comunes. Las primeras son
requerimientos funcionales del usuario, mientras que las segundas, son
servicios comunes que pertenecen a la infraestructura del software. Ejemplos
de estos servicios sonsincronización, distribución, manejo de transacciones,
registro de logs, gestión de seguridad… Todos estos servicios suelen ser
utilizados de forma similar pero independiente en distintas partes d el código del
programa.
Cada una de las tareas que forman parte de la funcionalidad de un
programa es considerada una “incumbencia” (“concern”), de forma que el
código de su implementación deberíaincumbirle únicamente a ella. En todo
desarrollo de software es prioritaria la separación de incumbencias. En los
paradigmas de programación típicos (funcional, orientado a objetos…) es muy
difícil aislar las incumbencias de los servicios comunes de las incumbencias de
las tareas principales. Por tanto, en estos paradigmas las tareas de los
servicios comunes aparecen dispersas formando parte delcódigo de las tareas
principales. A esto se le denomina “crosscutting concerns” (“incumbencias
transversales”).
La programación orientada a aspectos trata de realizar una mayor
abstracción y extraer los servicios comunes de la parte funcional del programa
evitando las mencionadas “incumbencias transversales”. Cuanto mayor es el
grado de abstracción, aumenta la escalabilidad, reusabilidad,adaptabilidad y
mantenibilidad del programa, siendo este el principal objetivo de la
programación orientada a aspectos.

2 Historia:
Se puede ver como a lo largo de la historia del desarrollo de software una
de las técnicas principales para resolver los problemas ha sido la
descomposición de un sistema complejo en partes más sencillas, siguiendo el
conocido método “divide y vencerás”.
En laprimera generación de desarrollo de software, el código resultante
se denominaba “código spaghetti”, puesto que no existía ninguna separación
lógica de conceptos, mezclando datos y funcionalidad sin una división clara,
obteniendo una maraña que se asemeja a un plato de pasta.
En desarrollos posteriores se empezó a aplicar la descomposición
funcional, dando lugar a la segunda y tercerageneración. En ellas se pone en
práctica el método “divide y vencerás” obteniendo como resultado varias
funciones más simples que, en conjunto, aportan toda la funcionalidad
necesaria para resolver el problema. Este desarrollo tiene ventajas pero a su
vez presenta nuevos inconvenientes. Por un lado, al descomponer el problema,
se obtiene gran facilidad de integración de nuevas funciones. Por otro lado, los
datos son compartidos por distintas funciones, por lo que una modificación en
los tipos de datos implicaría la modificación de una gran parte del programa.
Con el objetivo de solventar estos inconvenientes surgió la programación
orientada a objetos (POO), suponiendo uno de los avances más importantes en
el desarrollo de software de los últimos años. Este paradigma constituye la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion Orientada a Aspectos
  • Programación Orientada a Aspectos (POA)
  • Programación orientada a aspectos con spring
  • Programacion orientada a aspectos
  • programacion orientada
  • Programación Orientada
  • Programacion estructura y Programacion orientada a objetos
  • Programacion estructurada y programacion orientada a objetos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS