Design Patterns Vs Aspect Oriented Programming - A Qualitative and a Quantitative Assessment
Design patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, Object-Oriented (OO) abstractions are often not able to modularize those crosscutting concerns, which in turn decrease the system reusability and maintainability. Hence, it is important to verifying whether Aspect-Oriented (AO) approaches support improved modularization of crosscutting concerns relative to design patterns. Ideally, quantitative studies should be performed to compare OO and AO implementations of classical patterns with respect to important software engineering attributes, such as coupling, cohesion and size.