I am excited about AOP
and would dearly love to use it in some of our upcoming
projects.
AspectJ appears to have
considerable mind share and I thought it would be appropriate to look here
first.
Having explored the
technology I find myself with the following concerns:
- the application of
aspects through point cutting requires a new language. The language is not
Java and is not standardized or even close to being
standardized.
- the definition of
pointcuts is both semantically exotic and frankly intimidating. The
ability to shoot yourself in the foot, up the bum and in the head several times
over with a single pointcut is all too apparent.
- there are some
problems with serialization in the AspectJ implementation that would potentially
hurt - the FAQ says it mucks around
with SerialVersionUID
- there are bugs in the
ajc (as with any software of course) and I
have not had a chance to explore them - however, exposing clients to that set of bugs would be dangerous
for our reputation.
- the need to use using
ajc over javac could presents
a presentation problem
as well as an actual
risk.
Given all of
the above I am wary of proposing ApectJ.
I acknowledge that this is a conservative perspective on some very
exciting technology. It reflects my knowledge of how difficult it can be
to introduce our clients to 'new' technologies and
practises.
I would welcome comments from AspectJ supporters and
advocates.
Best regards,
ray
+44 (0) 20 7448 9751 (Office) +44 (0) 77 7930 5855 (Mobile)
|