Question

Je sais que cette question a été posée, mais c'était il y a un an et demi, mais je pensais que ce serait peut-être le temps d'une remise en question. J'ai aussi reconnu qu'il pourrait être considérée comme subjective, mais je suppose qu'il ya des raisons objectives pour / contre AOP.

Je serais intéressé à qui utilise AOP dans le développement de logiciels et aussi pourquoi ou pourquoi ne pas utiliser.

Je vois AOP comme un paradigme très forte qui peut faire beaucoup de tâches de développement plus facile. Mais quand il s'agit d'utiliser AOP dans les projets du monde réel, je l'ai fait l'expérience que beaucoup de décideurs sont à peine ouverts. Comment avez-vous réussi à introduire AOP dans vos projets?

Auparavant posé la question de Août 2008: Avez-vous utiliser AOP (programmation orientée Aspect) dans le logiciel de production?

Était-ce utile?

La solution

Nos gestionnaires écoutent leur équipe d'architecture.

Nous leur disons que l'AOP est la seule solution pour implémenter des fonctionnalités croisées concernent:

  • à un coût raisonnable, en premier lieu
  • sans déconner avec le code fonctionnel écrit par l'équipe de développement
  • sans jamais oublier (par rapport à ajouter manuellement un try-catch à des milliers de méthodes), maintenant et dans l'avenir
  • sans avoir à former ou contrôler ce que les développeurs font (certains sont grands, d'autres sont un véritable gâchis)
  • avec un bon maintenabilité

Il est vrai que notre projet est de 20 développeurs et a duré plusieurs années, donc il y a une masse énorme de code. Il est la seule solution.

  

Je crois que la clé est de l'utiliser uniquement pour des préoccupations transversales.   Si vous pouvez coder en utilisant le code régulier, faites-le. Mais si elle est trop grand, alors AOP est attrayante et justifiée. A défaut de limiter AOP conduirait à cent AOP petits codes, ce serait très difficile à comprendre.

Et oui, notre logiciel est-logiciel de production. Des centaines de cliniques dépendent!

Autres conseils

Nous n'utilisons AOP 100% en soi, mais oui, nous utilisons chaque fois que nous nous sentons appropriés (surtout Spring AOP, qui est si bien intégré avec framework Spring)

  

Comment avez-vous réussi à introduire AOP dans vos projets?

Eh bien, séparer les préoccupations de coupe transversales par exemple. Suivi des appels de méthode. Au printemps AOP, vous pouvez définir un aspect (un comportement d'exécution) qui s'applique à un « accroché » section de code. Avec « accroché » Je veux dire, vous devriez être en mesure de regrouper toutes les méthodes où vous avez besoin ce comportement sous un parapluie commun. Lors de l'exécution, ce code umbrella'ed va obtenir un nouveau comportement tel que défini par votre aspect.

Spring AOP comme Peakit dit est facile à introduire si vous utilisez déjà framework Spring dans votre projet.

J'ai d'abord ajouté AspectJ pour nos outils projet qui est utilisé en interne et jamais sorti aux clients. Cela a permis à la fois l'équipe de développement et de gestion pour gagner la confiance sur l'outil et avoir une idée claire de ce qu'il peut faire pour eux.

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