AspectJ

AspectJ

AspectJ

AspectJ es un lenguaje de programación orientado por aspectos construido como una extensión del lenguaje Java creado en Xerox PARC. Un compilador de AspectJ hace llegar la noción de aspecto hacia el código de máquina virtual implementando así una noción de relación. Los aspectos en si se escriben en Java extendido generándose un archivo java o compilado con código de máquina compatible con el generado por los compiladores de Java.

Contenido

Características del AspectJ

  • Aspects: se definen como "envoltorios" de código. Se parecen a las clases de Java.
  • Joinpoint: puntos en el código Java dónde un aspecto puede interceptar a las clases.
  • Pointcuts: grupos de joinpoints concatenados lógicamente.
  • Advices: se tratan de trozos de código asociados a pointcuts, que injertan un nuevo comportamiento en todos los joinpoints representados por el pointcut.
  • Declaraciones del Intertype-member: permiten a un aspect definir completamente los campos y los métodos implementados para múltiples clases.

Ventajas e inconvenientes

Entre las ventajas del lenguaje AspectJ se pueden citar:

  • AspectJ permite modelar referencias transversales, extendiendo así las posibilidades de POO.
  • Es un lenguaje conciso y explícito diseñado con el fin ofrecer las ventajas de la modularidad.

Por otro lado, el lenguaje AspectJ ofrece los siguientes inconvenientes:

  • Sin una herramienta apropiada, el programador no comprenderá la funcionalidad del sistema completo. Por ejemplo, los miembros inter-type members pueden no verse y no utilizarse jamás.
  • El modelado, la planificación y el control son mucho más importantes en la fase de desarrollo. Los Aspectos tienen que ser reconocidos por los diseñadores, lo que aligera la tarea de los programadores.
  • Los Aspectos pueden ser mal utilizados. Un programador puede implementar una falsa funcionalidad en cualquier estado del desarrollo y afectar a un amplio rango del sistema. El poder de la POA puede ser difícil de comprender.

Compiladores diseñados para AspectJ

Existen al menos dos compiladores de AspectJ:

  • ajc parte de las herramientas soportadas por el proyecto Eclipse, y
  • abc que es un compilador optimizante y extendible producido en aspectbench.org.

Enlaces externos

Wikilibros

Obtenido de "AspectJ"

Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • AspectJ — Paradigm(s) aspect oriented Appeared in 2001 (2001) Developer Eclipse Foundation Stable release 1.6.11 (March 15, 2011; 7 months ago …   Wikipedia

  • AspectJ — ist eine aspekt orientierte Erweiterung von Java, welche bei Xerox PARC entwickelt wurde und nun ein Open Source Projekt der Eclipse Foundation ist. Es ist als alleinstehendes Programm und als Eclipse Zusatzmodul verfügbar.[1]Ein AspectJ Compiler …   Deutsch Wikipedia

  • AspectJ — es un lenguaje de programación orientado por aspectos construido como una extensión del lenguaje Java creado en Xerox PARC. Un compilador de AspectJ hace llegar la noción de aspecto hacia el código de máquina virtual implementando así una noción… …   Enciclopedia Universal

  • AspectJ — ██████████30  …   Wikipédia en Français

  • Aspekt-orientierte Programmierung — Die Artikel Aspektorientierte Programmierung und Cross Cutting Concern überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen.… …   Deutsch Wikipedia

  • Aspektorientierung — Die Artikel Aspektorientierte Programmierung und Cross Cutting Concern überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen.… …   Deutsch Wikipedia

  • Aspect-oriented programming — (AOP) is a programming paradigm that increases modularity by allowing the separation of cross cutting concerns.Separation of concerns entails breaking down a program into distinct parts (so called concerns , cohesive areas of functionality). All… …   Wikipedia

  • Aspektorientierte Programmierung — (AOP) ist ein Programmierparadigma für die Objektorientierte Programmierung, um generische Funktionalitäten über mehrere Klassen hinweg zu verwenden (Cross Cutting Concern). Logische Aspekte eines Anwendungsprogramms werden dabei von der… …   Deutsch Wikipedia

  • Aspect-oriented software development — (AOSD) is an emerging software development technology that seeks new modularizations of software systems. AOSD allows multiple concerns to be expressed separately and automatically unified into working systems.Traditional software development has …   Wikipedia

  • Аспектно-ориентированное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная …   Википедия

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”