Active Flash/Flex/ActionScript 3 AOP project?
I've seen the Loom project, but are there any alternatives that are more mature (and actively 开发者_Go百科developed)? I am looking for something that would allow load-time weaving of pointcuts into existing binary code at runtime with the AVM2 runtime.
Has any work been done in this area?
Check out:
http://code.google.com/p/floxy/
http://code.google.com/p/flemit/
I know I'm a little late to the party here, but I've just put together a really simple AOP project for integration with Parsley.
It allows you to assign metatags to interceptors, like so:
<parsley:ContextBuilder>
<parsley:FlexConfig type="{ParsleyConfig}" />
<tag:AspectSupport>
<tag:MetatagInterceptorDefinition metatag="Log" interceptor="{new TracingInterceptor()}" />
</tag:AspectSupport>
</parsley:ContextBuilder>
Then, any classes in the Parsley context that are annotated with Log
get that method proxied:
[Log]
public function add(a:int,b:int):int
{
return a + b;
}
The project is here and a blog post explaining in more detail is here
As the author of flemit / floxy (though both were only created for asmock), I would recommend looking into AS3Commons Bytecode as it is under active development (flemit/floxy are not).
AS3Commons Bytecode is actually based on the Loom project and has been extended to use a much cleaner API than flemit was ever intended to have.
精彩评论