2017-03-08 70 views
0

我开始有兴趣在Java中Aspects,但是我有理解的好处和Aspects使用困难之间的差异。我以前在C++中使用过Macros。我想Aspects正在以类似的方式工作。我的意思是“每当看到X时,插入代码Y”。也许我不应该试图用我的Macro知识来学习Aspects什么是用Java方面和宏

您能否给我一些比较AspectsMacros的具体例子来更好地理解这一点?

回答

1

宏是注入编译为一个整体,其中作为看点既可以是静态的和动态的,您可以添加在你的代码点削减其中的代码将被注入静态代码,更超过方面添加逻辑来你的方法,决定是否继续。例如,它的日志,安全,事务管理使用...

0

用宏,你必须在源代码中要应用宏的每一个现场指示。

跟你在一个单独的地方,应改变所有地方定义方面。

所以,如果你想添加/删除一个方面,你只需要改变现货,但如果你想添加/删除宏,你必须改变每一个地方使用宏位置。

在另一方面宏更强大,可以更自由地使用。