Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Drawbacks of AOP

I think further to this, a method has a certain contract to fulfill, and it should in no way rely on aspects
to fulfill that contract.  Nor should aspects be allowed to change the contract.  If one follows these rules,
then it's quite irrelevant as to whether an aspect crosscuts a piece of code or not.  This way the code works
the same everywhere...  the system as a whole may work differently (ie. logging behaviour is different, or we
gain/lose resource pooling), but that has more to do with the context within which the code runs as opposed to
the code itself.

To me aspects are similar to macros in C in that just because you can do all kinds of crazy things using them,
it doesn't mean you should.

-- Marc

> -----Original Message-----
> From: aspectj-users-admin@xxxxxxxxxxx
> [mailto:aspectj-users-admin@xxxxxxxxxxx]On Behalf Of John Rayburn
> Sent: April 15, 2003 10:19 AM
> To: aspectj-users@xxxxxxxxxxx
> Subject: RE: [aspectj-users] Drawbacks of AOP
>
>
> Just some random thoughts on the matter...
>
> Is this not one of the key elements of AOP - that the affected code need
> not know that the aspect exists because it is an aspect of the system
> that may affect one pointcut this compile and another the next.
> Implementation of standard programming practices (avoid side-effects,
> etc.) will help to ensure that aspects will not affect the system in a
> harmful manner.  Use of tools will ensure that we can see how the
> aspect-oriented system is composed.
>
> One key concern that may be had is that harmful aspects will be written.
> Tools can help us identify where aspects are affected, and if a pointcut
> applies to a portion of code that we didn't expect, re-write the
> pointcut to be more exact.
>
> John Rayburn
> Threewide Corporation
> 304.594.8081 mailto:jrayburn@xxxxxxxxxxxxx
>
>
> -----Original Message-----
> From: Maximilian Stoerzer [mailto:stoerzer@xxxxxxxxxxxxxxxxxxxxxxxxx]
> Sent: Tuesday, April 15, 2003 10:11 AM
> To: aspectj-users@xxxxxxxxxxx
> Subject: Re: [aspectj-users] Drawbacks of AOP
>
> Hi everybody!
>
> I think there is a difference in OO and AOP. In OO, you have a
> structured way to find out which method is actually called by simply
> making your way up the inheritance hierarchy.
>
> In AOP you can not do that, at least not as it is implemented in
> AspectJ. Without tool support you might not even be aware of an aspect
> influencing (or even replacing) a method you are calling.
>
> Any aspect can globally influence any method of the system. There is no
> structured way to find out what functionality is actually executed by
> reading the source of a class anymore.
>
> So I think the problem about "awareness" is quite important - that's why
>
> there is so much effort to create tools to reveal this influence.
>
> Best Regards,
>     Max
>
> Robert Wenner wrote:
>
> >I wonder how much this "aware of the aspect" problem counts in some
> >years...
> >
> >After all, we already got used to overwriting methods.
> >Or does anybody reject OO because it isn't  as obvious as in
> >traditional C programming which method will in fact be called?
> >
> >Robert
> >_______________________________________________
> >aspectj-users mailing list
> >aspectj-users@xxxxxxxxxxx
> >http://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
> >
>
> --
> Maximilian Stoerzer
> Lehrstuhl Software Systeme - FMI - University of Passau
> Tel: +49 851 509 3096, eMail: stoerzer@xxxxxxxxxxxxxxxxx
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users
>





Back to the top