| « Débuter avec WPF | 31, V'la Bruno ! » |
L'AOP, quel bonheur !
Je ne peux plus m'en passer :)
Spring.Aop est un des tisseurs d'aspects disponibles en .NET, et lorqu'il est associé à l'IoC, il devient encore plus intéressant. Un des exemples est la fonctionnalitée AutoProxy qui permet de faciliter son utilisation à un ensemble d'objects plus facilement.
Ci dessous un exemple de configuration que vous pouvez obtenir :
<!-- Applique des aspects aux controllers --> <object type="ObjectNameAutoProxyCreator"> <property name="ObjectNames"> <list> <value>*Controller</value> </list> </property> <property name="InterceptorNames"> <list> <value>MethodCallLoggingAdvisor</value> <value>MethodExceptionLoggingAdvice</value> <value>MethodCallProfilingAdvice</value> </list> </property> </object> <!-- Applique des aspects aux services --> <object type="ObjectNameAutoProxyCreator"> <property name="ObjectNames"> <list> <value>*Service</value> </list> </property> <property name="InterceptorNames"> <list> <value>TransactionInterceptor</value> <value>CacheAdvisor</value> <value>MethodCallLoggingAdvisor</value> <value>MethodExceptionLoggingAdvice</value> </list> </property> </object> <!-- Applique des aspects aux DAOs --> <object type="ObjectNameAutoProxyCreator"> <property name="ObjectNames"> <list> <value>*Dao</value> </list> </property> <property name="InterceptorNames"> <list> <value>MethodCallLoggingAdvisor</value> <value>MethodExceptionLoggingAdvice</value> </list> </property> </object>
TransactionInterceptor est un aspect fournit avec Spring.Data permettant de gérer les transactions.
CacheAdvisor est un aspect permettant de gérer le cache.
Les 3 autres aspects, orienté debug, permettent de tracer les appels de méthodes, les exceptions ou encore la durée d'appel des méthodes.
Pour chacun de ces aspects, vous pouvez définir un poincut spécifiant les méthodes sur lesquelles vous voulez tisser votre aspect. TransactionInterceptor et CacheAdvisor utilisent par exemple un attribut.
3 commentaires
Il existe une foultitude de formatteurs de code gratuits (http://www.wilcob.com/Wilco/Pastecode.aspx par exemple).
A chaque fois j'essaie d'utiliser les fonctionnalités proposées par le blog comme la balise [code], mais il ne laisse rien passer.
Par contre le lien n'a pas l'air de marcher, j'en ai utilisé un autre vu qu'il en existe une "foultitude" :)
http://www.manoli.net/csharpformat/
Merci !
tiffany jewelry
tiffany co
Tiffany Bracelets
Tiffany Rings
Tiffany Earrings
Tiffany Necklaces
Tiffany jewelry