tandis qu’un aspect est spécifié de façon autonome, implémentant un aspect technique particulier, par exemple la persistance ou encore la génération de trace.
Un ensemble de points d’insertions ou joinpoint en anglais sont ensuite définis pour établir la liaison entre l’aspect et le code métier ou un autre aspect.
* les points d’action (poincut), qui définissent les points de jonction satisfaisants aux conditions d’activation de l’aspect, donc le ou les moments où l’interaction va avoir lieu,
* les greffons c’est-à-dire les programmes (advice) qui seront activés avant, autour de ou après les points d’action défi
But d’un aspect est de factoriser au « maximum » des fonctionnalités transverses dans un projet informatique .
Exemple de fonctionnalité que l’on pourrait factorisées :
-Connexion et envoie de message JMS
-Sécurité
-Transactions
-Logger etc …
Avantage : (+)
-Uniformise le code dans un aspect
-pas de doublon, dans le code Java
Inconvenient (-) :
-Temps execution parfois lourd
Ecrire ses premiers AOP
Ecrire une fonction de log : transverse « à votre projet » :
Article
http://www.techfaq360.com/tutorial/spring/spring.jsp
http://code.google.com/p/arc-pocs/wiki/DIIntroTutorial
http://java.dzone.com/articles/introduction-spring-aop?page=0,0
http://java.dzone.com/articles/introduction-spring-aop