SPRING.Net est-il le meilleur cadre pour la programmation orientée aspect (AOP)? [fermé]

StackOverflow https://stackoverflow.com/questions/246470

  •  05-07-2019
  •  | 
  •  

Question

Donnez-moi s'il vous plaît les avantages et les inconvénients de l'utilisation de ce cadre particulier.

Pouvez-vous me donner des exemples de succès dans lesquels vous avez utilisé AOP dans vos applications .net?

Était-ce utile?

La solution

Une publication plus ancienne, mais qui pourrait vous aider à voir certains des avantages / inconvénients des produits et des implémentations AOP.

http: //ayende.com/Blog/archive/2007/07/02/7-Approaches-for-AOP-in-.Net.aspx

Autres conseils

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

Il fonctionne extrêmement bien sans impact notable sur les performances, a supprimé une tonne de code excessif et répétitif de notre application et a amélioré la couverture de journalisation, ainsi que la qualité et la cohérence des informations de journalisation. La journalisation est maintenant écrite à un endroit et configurée à un endroit - une énorme amélioration.

Cependant, il existe quelques réserves: Une AOP Spring.Net requiert que tout objet soit averti de la mise en œuvre d'au moins une interface; En d'autres termes, si vous souhaitez consigner des appels de méthode sur un objet, cet objet doit implémenter au moins une interface. En outre, AOP n'a aucune visibilité sur l'activité au sein d'une méthode conseillée; En d'autres termes, vous ne pouvez pas utiliser la journalisation mise en œuvre par AOP pour consigner la valeur changeante d'une variable dans une méthode, par exemple.

Cependant, dans la pratique, il s’agit surtout d’un problème si vous essayez d’appliquer AOS de manière rétrospective à une application existante. Le codage sur l’interface est de toute façon une bonne pratique de développement pour IMHO et si vous devez vous connecter au fonctionnement interne de vos méthodes, cela peut indiquer qu’elles doivent être refactorisées.

AOP nécessite une certaine planification et une certaine discipline dans vos pratiques de codage, mais, à l'instar des tests unitaires automatisés, cela ne sert généralement qu'à améliorer la qualité du code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top