0

我需要快速回答 AOP 中的一个简单问题。

如果我在客户端部署了一个代码并且我已经编写了新的方面,我想要在客户端软件中。我必须用“原始”代码和新的“AOP”代码“重新编译”完整的软件吗?(使用 aop 编译器)?

即我需要原始程序的源代码和新AOP的源代码并编译它们吗?

PS:我问的是笼统的,不是针对任何语言的。但是,如果答案必须是特定于语言的,那么假设 Java 和 AspectJ 作为 AOP 框架。

4

1 回答 1

0

您想查看 AspectJ LTW(加载时编织)。

PS:我假设您的客户愿意部署您的方面代码(例如在单独的 JAR 中)并以稍微不同的方式启动 JVM 以激活 LTW。那么答案是肯定的,有可能。

PPS:AspectJ 甚至可以重新编译您的类文件并进行二进制方面编织,而无需您拥有源代码。这样,您可以用方面编织版本替换客户端代码。这样 JVM 就可以像以前一样启动,只是需要更换有问题的客户端库。

于 2013-01-16T19:17:16.230 回答