For years, software engineers have struggled with the question of how to structure their code in order to maximize reuse and reduce defects. While traditional object-oriented programming (OOP) provides a solid framework for code organization, it breaks down when developers must implement features that cut across the entire system, such as logging and transaction handling. The usual methods for implementing such cross-cutting functionality lead to unnecessary code duplication, an increase in product bugs, and a decrease in both quality and time to market.
Aspect-Oriented Programming (AOP) adds a high level of reuse to the traditional OOP framework, with minimal impact on existing code bases.
Aspect-Oriented Programming delivers:
The following paper demonstrates these benefits in detail, and demonstrates how two companies successfully implemented AOP: Siemens Healthcare using the open-source AspectJ™ AOP framework; and FullArmor, using the PostSharp framework from SharpCrafters.