Aspect-Oriented Programming (AOP) promises to increase the power of OO applications by modularizing functionality that cuts across classes (such as logging, transaction management, design patterns, and security). If your application has this type of functionality, you can benefit from using AspectJ, an AOP language that is a seamless extension to Java.
In this code-intensive book, the authors present a detailed overview of the concepts of AOP and AspectJ, and take you step-by-step through the process of building an application. Along the way, you'll learn how to adopt AspectJ and use it with your current software development tools and processes.
You'll also learn best practices for application design and documentation using UML.