2017-03-08 3 views
0

J'ai commencé à être intéressé par Aspects en Java, mais j'ai des difficultés pour comprendre les avantages et l'utilisation de Aspects. J'ai utilisé Macros en C++ avant. Je suppose que Aspects fonctionnent de la même manière. Je veux dire "Chaque fois que vous voyez X, insérez le code Y". Peut-être que je ne devrais pas essayer d'utiliser mes connaissances pour apprendre Aspects.Quelle est la différence entre les aspects en Java et Macros

Pourriez-vous me donner quelques exemples concrets qui compare Aspects et Macros pour mieux comprendre cela?

Répondre

1

Les macros sont des codes statiques injectés puis compilés dans leur ensemble, où un aspect peut être à la fois statique et dynamique, vous ajoutez des coupures dans votre code où le code sera injecté si poursuivre ou non. par exemple, il est utilisé dans la journalisation, la sécurité, la gestion des transactions ...

0

Avec les macros, vous devez indiquer dans le code source chaque endroit où vous voulez que la macro soit appliquée. Avec les Aspects, vous définissez dans un endroit séparé tous les endroits qui doivent être changés. Par conséquent, si vous voulez ajouter/supprimer un aspect, vous devez juste le changer sur place, mais si vous voulez ajouter/supprimer une macro, vous devez changer chaque endroit où la macro est utilisée. D'autre part, les macros sont plus puissantes et peuvent être utilisées plus librement.