2010-02-23 76 views
3

我见过织布机项目,但有没有其他更成熟(并积极开发)的替代品?我正在寻找一些能够在运行时使用AVM2运行时加载时间将切入点编入现有二进制代码的内容。Active Flash/Flex/ActionScript 3 AOP项目?

这方面有没有做过工作?

+1

我不确定是否有人使用Floxy/Flemit编织和切入点,但我很乐意与您合作来做到这一点。给我发电子邮件,如果你想在adobe dot com com – 2010-02-23 23:04:48

回答

2

由于flemit/floxy的作者(尽管都为asmock只创建),我会建议寻找到AS3Commons Bytecode,因为它是正在积极发展(flemit/floxy不是)。

AS3Commons字节码实际上是基于Loom项目,并且已经扩展到使用比flemit有意的更清洁的API。

3

我知道我在这里参加派对有点晚,但我刚刚组装了一个非常简单的AOP项目,用于与欧芹进行整合。

它可以让你的元标记分配给拦截器,像这样:

<parsley:ContextBuilder> 
     <parsley:FlexConfig type="{ParsleyConfig}" /> 
     <tag:AspectSupport> 
      <tag:MetatagInterceptorDefinition metatag="Log" interceptor="{new TracingInterceptor()}" /> 
     </tag:AspectSupport>    
    </parsley:ContextBuilder> 

然后,被标注有Log欧芹方面的任何类获取方法代理:

[Log] 
    public function add(a:int,b:int):int 
    { 
     return a + b; 
    } 

项目是here和博客文章更详细地解释是here

+0

协作jaward这看起来很有趣。对Parsley的依赖程度有多深?我们正在使用Robotlegs,我想知道您的项目是否可以修改以适应它? – Borek 2011-01-13 11:48:12

+0

它更依赖于欧芹而不是它所需要的。我打算构建一个与Swiz合作的版本,但如果对RobotLegs有更多的需求,那么我可以先看看。我已经添加了一个问题作为讨论点:http://bit.ly/eB70kb – 2011-01-13 13:47:31

+0

上述方法不基于AVM2字节码编织,对吧?它使用代理。 – 2011-09-14 13:56:52