In the early 2000s, aspect-oriented programming (AOP) emerged as a solution to better isolate secondary or supporting functions from the main program's business logic. The Java-based de facto standard for AOP, AspectJ, followed soon after. Now, the AspectJ Development Tools (AJDT) project provides Eclipse platform-based tool support for aspect-oriented software development with AspectJ.
In his WebReference.com article, Rob Gravelle demonstrates how to create new AOP applications or add aspects to existing ones by stepping through the creation a new AspectJ project with Eclipse AJDT. He explains that:
Aspects can contain advice (code joined to specified points in the program) and inter-type declarations (structural members added to other classes). Storing cross-cutting concerns as aspects allows both the source code and the places to execute it to be maintained in one place.