Hi Olaf,

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,

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?

It is exactly the combination of pointcut selection with advices.

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.

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.

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 ;)


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


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.

A+. Didier.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to