A software system typically starts out with finite set of well-understood requirements. As most successful systems evolve, however, they take on more and more requirements, incorporating innumerable functional and nonfunctional aspects. In an enterprise environment, you can easily end up adding to this tangle of modules a number of third-party libraries and frameworks.
While a number of tools are available to aid you in comprehending complex programs most are expensive, time-consuming to learn, and limited in scope of functionality. Aspect-oriented programming is a full-fledged programming paradigm that can be applied to a wide range of programming scenarios, including the comprehension and maintenance of legacy applications.
Printer Friendly Page Send to a Friend