1

我正在学习面向方面的编程,我想使用 AspectJ 创建几个方面来改变一个类。问题是类的所有实例都被各个方面更改,我想为每个实例选择要使用的方面。

另一个问题,如何为同一方法选择不同方面的建议顺序?

谢谢

4

2 回答 2

2

我暂时只回答一部分。

关于你的第二个问题:

如何为同一方法选择不同方面的建议顺序?

请看声明优先级

于 2012-05-06T11:51:32.697 回答
1

这可能不是您要寻找的答案,但设计使一个类的所有实例都被一个方面修改。您应该认为 AspectJ 会影响整个程序的语义,而不是影响程序的各个部分。

AspectJ 是通过字节码操作实现的,因此即使是 AspectJ 规范的一部分,也不可​​能对单个实例进行更改。

但是,也许还有另一种实现你需要实现的方法,因为只需要编织到单个实例中就意味着你的实现有问题。

于 2012-05-07T17:46:53.927 回答