A Tour of AOP The AOP Implementation The AOP implementation
performs two logical steps: It first combines the individual
concerns using the weaving rules, and then it converts the
resulting information into executable code. AOP implementation,
thus, requires the use of a processor—weaver—to perform these
steps. The weaver can be implemented in various ways. A simple
way is through source-to-source translation. Here, the weaver
processes source code for individual classes and aspects and
produces woven source code. A regular language compiler may then
process the formed code. The aspect compiler then feeds this
converted code to the base language compiler to produce the
final executable code. Using this approach, a Java-based AOP
implementation converts individual source input files into woven
Java source code and then lets the Java compiler convert it into
the byte code (in fact, this implementation technique was used
in early implementations of AspectJ). This simple approach
suffers from several drawbacks as