Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在学习面向方面的编程,我想使用 AspectJ 创建几个方面来改变一个类。问题是类的所有实例都被各个方面更改,我想为每个实例选择要使用的方面。
另一个问题,如何为同一方法选择不同方面的建议顺序?
谢谢
我暂时只回答一部分。
关于你的第二个问题:
如何为同一方法选择不同方面的建议顺序?
请看声明优先级
这可能不是您要寻找的答案,但设计使一个类的所有实例都被一个方面修改。您应该认为 AspectJ 会影响整个程序的语义,而不是影响程序的各个部分。
AspectJ 是通过字节码操作实现的,因此即使是 AspectJ 规范的一部分,也不可能对单个实例进行更改。
但是,也许还有另一种实现你需要实现的方法,因为只需要编织到单个实例中就意味着你的实现有问题。