2009-10-13 6 views
2

Salut Je suis nouveau à AspectJ et je voudrais savoir si la création de variantes d'une classe en utilisant Aspects - Je vais créer une autre instance de la classe aussi bien?AspectJ problème

+0

Cette question est très floue, pouvez-vous s'il vous plaît le reformuler, expliquer plus en détail ce que vous essayez de faire? –

Répondre

1

Je devine que la question est, si j'ajoute des aspects serait une nouvelle classe soit créée. La réponse est non, car le tissage, en compilant ou en cours d'exécution, en utilisant AspectJ, ajoutera les changements aux classes qui sont affectées par les aspects, donc il n'y a pas de nouvelle classe créée, c'est juste que le code d'octet pour la classe d'origine et la classe finale sont différents.

0

Que voulez-vous dire par variantes? Si vous demandez si AspectJ instancie des copies de votre classe, la réponse est no. AspectJ utilise un modèle de conception appelé proxy pour intercepter les appels à votre classe.

+0

Spring AOP utilise un proxy. AspectJ va modifier le bytecode, soit en tissant dans les changements, ou dans le cadre de la compilation. –