我可以在Scala中进行面向方面编程吗?

Ash*_*ary 30 aop scala

我不是在谈论模仿Scala中的AOP功能(即使用Traits而不是Aspects),我想知道是否有可能在Scala中做真正的AOP(即建议,方面,关节点,编织等......)

Von*_*onC 29

Mixin是在Scala中引入AOP的经典方式(如JonasBonér在"Scala中的AOP风格的Mixin Composition Stacks "中所述).

但我只知道Scala中的 " 基于方法代理的AOP "(Daniel Spiewak - 也在这里 - 和田昭)作为Scala中的高级AOP实现(源代码在这里).

我们的技术使用Scala的高阶函数来拦截方法调用,并且对基本程序施加的语法开销最小.
此框架允许开发人员通过指定类类型和方法签名来定义切入点.框架还允许访问上下文变量,而方面可以在建议主体之前或之后插入建议代码.


Cle*_*t P 6

我们使用Spring AOP和Scala类没有任何问题.它不会进行任何字节码修改(仅代理).