Some aspects of system implementation, such as logging, error handling, standards enforcement and feature variations are notoriously difficult to implement in a modular way. The result is that code is tangled across a system and leads to quality, productivity and maintenance problems. AspectJ is a seamless aspect-oriented extension to the Java programming language that enables clean modularization of these 'crosscutting concerns'. For the best AspectJ development experience, the AspectJ Development Tools (AJDT) project provides Eclipse platform based tool support for AOSD with AspectJ - see Eclipse AJDT project.
Features of AspectJ
* a seamless aspect-oriented extension to the Java programming language
* Java platform compatible
* easy to learn and use
AspectJ Enables
clean modularization of crosscutting concerns, such as error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, and multi-object protocols.
AspectJ Downloads:
http://www.eclipse.org/aspectj/downloads.php
Documentation
Popular AspectJ docs: AspectJ 5 Developer's Notebook | Programming Guide | More docs...
AspectJ Project Home Page
http://www.eclipse.org/aspectj/