2008-10-29 9 views

Répondre

2

Jusqu'à présent, nous avons utilisé Spring.Net AOP pour l'exemple AOP classique de l'application de l'exploitation forestière à une application. Je n'ai utilisé aucun des autres frameworks AOP disponibles pour .Net.

Fonctionne extrêmement bien sans impact perceptible sur les performances, supprime une tonne de code excessif et répétitif de notre application et améliore la couverture de journalisation ainsi que la qualité et la cohérence des informations de journalisation. La journalisation est maintenant écrite en un seul endroit et configurée en un seul endroit - une amélioration considérable. Cependant, il existe quelques inconvénients: Spring.Net AOP exige que tout objet soit conseillé pour implémenter au moins une interface; c'est-à-dire, si vous voulez enregistrer les appels de méthode à un objet, cet objet doit implémenter au moins une interface. En outre, AOP n'a aucune visibilité de l'activité au sein de une méthode conseillée; c'est-à-dire que vous ne pouvez pas utiliser la journalisation implémentée par AOP pour consigner la valeur changeante d'une variable dans une méthode par exemple.

En pratique cependant, ceci est surtout un problème si vous essayez d'appliquer rétrospectivement AOP à une application existante. Coder à l'interface est une bonne pratique de développement à mon humble avis de toute façon et si vous avez besoin de vous connecter les rouages ​​internes de vos méthodes qui pourraient bien être une indication qu'ils doivent être refactorisés. AOP nécessite une certaine planification pour mettre en œuvre et exige une certaine discipline dans vos pratiques de codage, mais, comme les tests unitaires automatisés, à mon humble avis cela ne sert généralement à améliorer la qualité du code.

Questions connexes