这两种AOP框架有什么优缺点?我正在使用Unity作为我的AOP框架,但我认为像PostSharp这样的编译时AOP框架可能比运行时AOP框架性能更好?似乎运行时AOP框架使用反射来实现注入。
这两种AOP框架的优缺点在于它们的实现方式。编译时AOP框架如PostSharp将切面代码编织到目标程序集中,因此它可以提供更好的性能和较少的运行时开销。然而,运行时AOP框架如Unity使用反射动态地注入切面代码,因此它更加灵活和可扩展。
这两种AOP框架有什么优缺点?我正在使用Unity作为我的AOP框架,但我认为像PostSharp这样的编译时AOP框架可能比运行时AOP框架性能更好?似乎运行时AOP框架使用反射来实现注入。
这两种AOP框架的优缺点在于它们的实现方式。编译时AOP框架如PostSharp将切面代码编织到目标程序集中,因此它可以提供更好的性能和较少的运行时开销。然而,运行时AOP框架如Unity使用反射动态地注入切面代码,因此它更加灵活和可扩展。
if()
这样的切入点来停止其执行。但是这可能非常有效。通常,像AspectJ这样的良好切面编译器会创建非常高效的字节码,并且在运行时并不过多地依赖反射。如果您所选择的切面框架确实依赖于反射,则可能并不是非常快速。但是根据您使用方面的频率,也许它已经足够快了。
可能我已经写得太多了,但我也可以写更多。这就是为什么我现在要停下来的原因。此外,这种问题并不适合StackOverflow,因为它可能会引起哲学讨论和基于观点的争论。即便如此,我希望自己能够相当客观/中立。