Talk:AOP
From APIDesign
Line 11: | Line 11: | ||
--NicolasDumoulin 13:00, 13 November 2009 (CET) | --NicolasDumoulin 13:00, 13 November 2009 (CET) | ||
</div> | </div> | ||
+ | |||
+ | Well, Nicolas, you are able to debug [[Netigso]], so you cannot be counted into the target group that can practise only [[cluelessness|empiristic programming]] and needs as much simplicity as possible. But I agree that with [[Maven]] the compile time configuration is much more simplified than I have envisioned. | ||
+ | |||
+ | --[[User:JaroslavTulach|JaroslavTulach]] 08:51, 19 November 2009 (UTC) | ||
+ | |||
== btilford said ... == | == btilford said ... == | ||
Revision as of 08:51, 19 November 2009
Comments on AOP <comments />
NicolasDumoulin said ...
Well, Nicolas, you are able to debug Netigso, so you cannot be counted into the target group that can practise only empiristic programming and needs as much simplicity as possible. But I agree that with Maven the compile time configuration is much more simplified than I have envisioned.
--JaroslavTulach 08:51, 19 November 2009 (UTC)
btilford said ...
AspectJ supports annotations pretty well plus you still have all the old methods of defining a pointcut (or combination) if you need to really specific.
e.g.
@Around("@annotation(com.mycompany.BoundProp)")
would match all methods annotated with @com.mycompany.BoundProp
and you could still say only setters with 1 argument should be bound (since it might make sense to do that)
@Around("@annotation(com.mycompany.BoundProp) && execution(public * *..*.set*(*))")
--btilford 01:45, 19 November 2009 (CET)
Thanks for your comment btilford. I did not know this. Still, this is slightly opposite approach. The end user still needs to deal with aspect and with meaning of @Around and pointcut public * *..*.set*(*)) and setup the AspectJ compiler. I'm seeking for the possite: The user downloads library with com.mycompany.BoundProp annotations, applies the annotation to one of its classes and as a result all the setters in the class will become bounded. This is not big shift technologically, I guess, but huge improvement in ease of use. Not talking about the fact that it opens the door to create a market of reusable aspects.
--JaroslavTulach 08:46, 19 November 2009 (UTC)
We use aspectj for defining and using an aspect that serve an automatic objects caching service. It's not so hard, you can see our notes here: http://www.simexplorer.org/wiki/DevDoc/AspectJ
--NicolasDumoulin 13:00, 13 November 2009 (CET)