Is it just me or discussions about AOP pointcut strategies are popping
all over? I should link these for now; I'll comment them later when I
have the time, that is, if I have something to add ;)
When I say "metadata" it's
important to distinguish between the actual associations between
classes/methods/fields and these attributes and how these associations
are done. Using tags in source code is *one* way to do this, but
certainly not the only one. As but one example, in our own AOP/metadata
framework we allow attributes to be defined in XML-files which are read
at startup and added to the set of runtime attributes gathered through
source code doclet tags. This way we can have one set of attributes
which are always the same (=defined in code) and some of which are more
deployment oriented (=defined in XML). It seems like most people think
"doclet tags" when you talk about metadata, but that's (to me) just one
input method among others.
Got me thinking... maybe I should try this separation (doclet tags for
'static' stuff, XML for configurable-at-deployment stuff), it seems to
work well and gives a nice 'i can see it in my code!' effect, which I
like.