Aspect-oriented software development (AOSD) is a new approach to software
development that addresses limitations inherent in other approaches, including
object-oriented programming. AOSD aims to address crosscutting
concerns by providing means for systematic identification, separation,
representation and composition. Crosscutting concerns are encapsulated in
separate modules, known as aspects, so that localization can be promoted. This
results in better support for modularization hence reducing development,
maintenance and evolution costs.
[Source:
Early Aspects]