2010-01-02 6 views
1

utiliseriez-vous des ressorts AOP (aspects) si vous deviez suivre les points utilisateurs dans votre application?utiliseriez-vous AOP pour suivre les points?

cela semble être un ajustement potentiel, puisque les points sont attribués etc. dans toute l'application, un peu comme les contrôles de sécurité. (Il suffit de lire sur AOP, en essayant de saisir son potentiel et son utilisation autre que la sécurité ou la journalisation).

Lorsque vous connectez vos points de jointure, sont-ils "configurés" à la volée ou une fois? Je suis juste préoccupé par la façon dont cela affecte la performance, ou est-ce vraiment un non-problème?

+1

Hors sujet Je sais, mais allez-vous répondre * à une question? –

+1

Wow ... 590 questions, pas de réponses .... – skaffman

Répondre

1

Oui, cela semble être un bon usage de l'AOP. En ce qui concerne les détails de son fonctionnement, cela dépend du framework AOP que vous utilisez. Certains font l'aspect de tissage au moment de la compilation (par exemple AspectJ CTW), certains le font lorsque les lasses sont chargées (par exemple AspectJ LTW), certains le font dynamiquement à l'exécution (par exemple Spring AOP).

Il y a un impact inévitable sur les performances, mais ne laissez pas cela vous empêcher de l'essayer.

1

Cela pourrait être une préoccupation transversale. C'est difficile à dire sans en savoir plus sur votre application. Spring AOP les définit à l'exécution après l'établissement du contexte d'application.

0

Je pense que vous pourriez utiliser des aspects pour suivre les points de l'utilisateur. Cette 'exigence' est une préoccupation transversale, car elle coupe votre code en plusieurs points.

Si vous souhaitez utiliser des aspects avec Java, vous devez utiliser AspectJ, l'extension d'aspect la plus évoluée de Java. Si vous souhaitez obtenir une introduction sur les aspects, lisez le AspectJ Programming Guide

Et sur les points de jointure, ils sont généralement câblés lors de la compilation. Ainsi, après le tissage (composition de votre nouveau comportement avec l'ancien comportement), vous aurez un nouveau code Java avec le nouveau comportement injecté. Un autre bon livre sur les aspects est Eclipse-AspectJ-Aspect-Oriented-Programming-Development

0

Je ne pense pas que j'utiliserais AOP pour cela. Je modéliserais l'utilisateur et pointerais, et implémenterais l'attribution de points dans une sorte de classe affaires. Je suis nouveau à l'AOP, mais comment je le comprends, un aspect est vraiment quelque chose qui coupe votre programme.