3

Scala和Aspects可以一起使用吗?在这种情况下有好处吗?

谢谢

4

3 回答 3

10

Scala 就像 java,如果你的意思是例如类似 spring 的 AOP,我确信注解可以在 scala 或 java 中工作。

另一方面,Scala 具有闭包(而 java 没有)这一事实使 AOP 变得不那么有趣。

于 2010-10-15T01:41:36.300 回答
6

事实上,Eclipse 的 Scala IDE 使用了 Aspects(因为 JDT 假定为 Java):

来自Eclipse 中的 Scala 支持 - 猴子修补 JDT 以获得乐趣和利润?, p16迈尔斯·萨宾

AspectJ 和 Equinox 方面

  • 方面的集合实际上是一个补丁
  • AspectJ 用于改进 JDT 所需的可扩展性特性,并通过公共 API 公开它们
  • 关键修改:
    • JDT 的 CompilationUnit 是其内部模型的入口点,但它假定 Java 源代码
    • 方面可以将其构造函数变成工厂方法

所以答案是肯定的,这是可能的。我必须同意 Pablo 的观点,即它没有 Java 那么有吸引力。

于 2010-10-15T07:48:38.927 回答
3

Fakod在这里有一些 AspectJ 的例子

真实世界的 Scala:使用 Mixin 组合和 AOP 管理横切关注点

于 2010-10-15T07:37:54.627 回答