Aspect-Oriented Programming (AOP) is a relatively new approach to the age-old problem of taming modularity in software design
and implementation. Software implementations need to address a variety of {\em cross cutting\/} concerns. Traditional
programming paradigms offer poor support for organizing designs and programs that allow a separation of these concerns. This
typically results in hard to maintain programs.
AOP introduces a new notion of modularity called an {\em aspect}, which is a fundamental abstraction for modeling a concern. This tutorial is an introduction to the principles of Aspect-Oriented Design and Programming. Familiarity with
general programming concepts like procedural abstraction and object orientation will be helpful.
|