Aspect Oriented Programming: Don't forget about CLAW
To me, the
coolest thing about the .NET framework is the whole metadata thing and the
ability to generate DLL's on the fly. Generative programming, or metaprogramming
as some call it is so cool. The more you think about it, the more possibilities
emerge. One of these is AOP. This post is the first in a series about my
endeavour to create an AOP framework for .NET. Why would I want to create a
framework? Well, beacuase I haven't yet found one that meets my requirements.
Clemens
Vasters has just
announced some of his work on the field. The AOP ServicedComponent is cool, but
it's limited. You have to derive your class from his, and ultimately from
ServicedComponent. He does that because it's the only way he can intercept calls
using the contextboundary/message framework of .NET.
I want more...
;) Here's a list of the features I would like:
[Frederic
Gos' Weblog]
Actually, I think most, if not all, of those features are supported by John
Lam's CLAW
technology. However, instead of being attribute based, it's configured
through an XML configuration file. This is done because you obviously can't go
in and add attributes to libraries that you don't own.
The only problem with the CLAW technology is that John hasn't posted any
information about since late last
year (scroll down to the "Fun time at Win-Dev" post). So the public
just doesn't know where it's at and what priority John has it placed at on his
list of current projects. Maybe John will read this post and give us an update.
;)