|
From: Kopylenko, D. <dko...@ac...> - 2003-11-07 13:27:38
|
Rod,
Funny you should mention that, but I was thinking along the same lines a few
days ago :-) Aspect would represent the right level of abstraction as
Interceptors and Pointcuts are just "implementation instruments" of it
(certain Aspect). I was thinking to utilize (somehow) existing
org.aopalliance.aop.Aspect but the current API wouldn't fit the model, would
it?
Also, I'm for making this API change (as you mentioned, it's an improvement)
as long as it would make it in before 1.0 final.
Regards,
Dmitriy.
-----Original Message-----
From: Rod Johnson [mailto:rod...@in...]
Sent: Friday, November 07, 2003 7:45 AM
To: spr...@li...
Cc: Bob Lee
Subject: [Springframework-developer] AOP API
All,
I've recently been discussing our pointcut API with Bob Lee (of jAdvise, AOP
Alliance and "Bitter EJB").
Bob is currently using Spring AOP and wants the ability to reuse pointcuts
independently of interceptors.
This seems a reasonable thing to do, so I've been wondering whether it's
correct to model a Pointcut as having an interceptor, as Spring AOP
presently does. Perhaps pointcuts should be independent of interceptors, and
there should be a new Aspect type that contains a Pointcut _and_ an
Interceptor. The methods on ProxyConfig could add and remove this new type
(with the Interceptor methods kept for convenience), and it would need to be
hooked up instead of MethodPointcut in bean factories.
Bob suggested that the ProxyConfig methods could take both a Pointcut _and_
an Interceptor, but we really need a single umbrella object for use in bean
factories.
Something like
interface Aspect {
[Method]Pointcut getPointcut();
Interceptor getInterceptor();
}
Perhaps it could be generalized to hold a List of Interceptor, rather than a
single interceptor. As this would complicate the implementation, I'd like
feedback on whether it's really necessary.
Calling such a new object "Advice" would be more AspectJ-like, but I think
Aspect is clearer.
I'm a bit reluctant to change the public API at this stage, but I think this
would be an improvement. A convenient implementation of Aspect could extend
RegexpMethodPointcut, making usage similar to the existing pattern.
Any thoughts? AOP users, would you mind the impact this would have on your
code? (It wouldn't be too difficult to migrate.)
Regards,
Rod
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program. Does
SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|