Aspect Oriented Programming : programmation orientée aspects.
Aspect Oriented Software Development (AOSD) : développement logiciel orienté aspects.
Permettre de rendre modulaire un code éparse, redondant et fortement couplé.
Un recoupement (crosscutting) des aspects problématiques (concerns) d'un système est réalisé, vous permettant d'identifiants des points de votre application (telle ou telle méthode, y compris constructeurs, accesseurs, traitement d'exceptions, intialisations statiques, etc.) pouvant être joins (join points).
Des exemples de besoins d'AOP sont :
Des exemples d'outils AOP sont :