Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

PROGRAMACIÓN ORIENTADA A ASPECTOS by Mind Map: PROGRAMACIÓN
ORIENTADA A
ASPECTOS
0.0 stars - 0 reviews range from 0 to 5

PROGRAMACIÓN ORIENTADA A ASPECTOS

DESARROLLO

AspectJ

Es una extensión Java del proyecto Eclipse para ayudar en el desarrollo orientado a aspectos.

Aspect

Un módulo Perl disponible en CPAN para la Programación Orientada a Aspectos (en inglés).

AOP con SpringFramework 2.5

Es un Framework de Java que permite programar en el paradigma de Aspectos utilizando Anotación Java.

Aspyct AOP

Es un módulo de Python que permite incluir Programación orientada a Aspectos a programas ya existentes escritos en Python o a nuevos desarrollos.

DEFINICIONES

Aspecto

Funcionalidad transversal que se va a implementar de forma modular y separada del resto del sistema.

Join point

Punto de ejecución dentro del sistema donde un aspecto puede ser conectado, como una llamada a un método, el lanzamiento de una excepción o la modificación de un campo.

Advice

Implementación del aspecto, es decir, contiene el código que implementa la nueva funcionalidad.

Pointcut

Define los Consejos que se aplicarán a cada Punto de Cruce.

Introduction

Permite añadir métodos o atributos a clases ya existentes.

Target

Es la clase aconsejada, la clase que es objeto de un consejo.

Proxy

Es el objeto creado después de aplicar el Consejo al Objeto Destinatario.

Weaving

Es el proceso de aplicar Aspectos a los Objetos Destinatarios para crear los nuevos Objetos Resultantes en los especificados Puntos de Cruce.

VENTAJAS

Código reusable que se puede acoplar y desacoplar según la necesidad.

Facilidad para depurar y modificar el código.

Facilidad para razonar sobre las materias, ya que estan separadas y tienen una dependencia mínima.

Código mas natural y reducido.

Permite la separación de conceptos y agregar nuevos aspectos, modificar y remover aspectos existentes facilmente.

DESVENTAJAS

Posibles choques entre el código funcional, expresado en lenguaje base y el código de aspectos , expresado en los lenguajes de aspectos.

Posibles choques entre los aspectos

Posibles choques entre el código de aspectos y los mecanismos de lenguajes.

OBJETIVOS

Separar conceptos y minimizar dependencias entre ellos.

Reducir la complejidad de las aplicaciones a niveles manejables para las personas.

EVOLUCIÓN DE LA ING. DEL SOFTWARE

GENERACIÓN

CÓDIGO SPAGETTI, Mezcla funciones y datos.

DESCOMPOSICIÓN FUNCIONAL, Separado por funciones.

DESCOMPOSICIÓN EN OBJETOS, Organiza por datos y se mezclan funciones.

DESCOMPOSICIÓN EN ASPECTOS, Se separan datos y funciones.