I just read your last email.
First thanks for your support. That is really cool, as it is difficult to find people interested in those *highly conceptual* things ;)
Olaf Bergner wrote:
Hi Didier,It is exactly the combination of pointcut selection with advices.
one more question that came to my mind after scanning through the source again: Do you REALLY need the programmatically realized concept of an Aspect? Seems as if you could quite easily get along without it. Maybe I am totally wrong. It was a rather casual look, trying to identify the places where you actually use the Aspect interface.
Another thought: Maybe an Aspect is nothing more than an aggregation of some other entities? Maybe the combination of Pointcuts plus Advices? Probably not, but maybe that's a starting point?
This is exactely where i'm standing. In fact, this is more like the idea to say this thing is an aspect. It uses pointcuts so you can't externally see where i attached my advices. But you should know this is what i'm doing. Maybe this is a good point for the marker interface.Or maybe an Aspect belongs rather to the meta model of any given application and as such is more of a descriptive term than an actual functional programmatic entity? As such, it could be *mapped* to a combination of Pointcuts and Advices.
However, i would like that it can be perceived from the application configuration/management point of view.
You could ask yourself what of my application aspect i will run in this setup?? This was the purpose of the AspectManager.
The problem is that i can't avoid anyone to use pointcut selections and advices in a standard component, as the core pointcut manager is accessible to anyone that the container permits (by passing the PointcutManager via the ServiceManager).
Thinking about all this... Should i avoid people from doing this ?? This is really the question.
So two solutions:
- the core PointcutManager is not accessible via the ServiceManager (but i can't avoid anyone to do this...) and then i revert to the previous design. People must explicitely say they are doing an aspect.
- I throw the AspectManager and aspect are just standard components. Those that want it to be startable/stopable at runtime just do a Startable component instead of just Initializable/Disposable. And I add a marker interface for good practiced people ;)
No thanks! Really!! I think i'm comming to the point... i feel it ;) In fact i think the second way is the better. More over, this really downsize the scope of this package and makes it more Avalon. Just some days more and i think i will get it.Anyways, it's getting late ... Do not want to confuse you any more. As you will notice, these are VERY preliminary thoughts on what seems to be a rather tough question.
Cheers,
Olaf
A+. Didier.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
