8

我一直在用 Spring Roo 进行自己的一些实验,看起来很酷,但我注意到这个工具在模型层上大量使用了 AOP。

我正在考虑使用 Roo 创建一个真实的项目,我想知道的是:

  • 为什么AOP无处不在?那样可以么?
  • 这种方法的优点和缺点是什么?

我对面向方面的编程很陌生,非常感谢一些指导。

4

3 回答 3

2

Spring 框架具有广泛的 AOP 功能,在基于 Roo 的应用程序中使用这些功能很有意义。AOP 允许您在业务逻辑和系统逻辑之间进行良好而清晰的分离。正确完成后,您将获得更易于维护和理解的代码库。

缺点是对性能的影响很小,但不足以让我担心。

要了解有关 Spring 和 AOP 的更多信息,请查看文档。Spring 将 AOP 用于事务管理和异步操作等事务。

编辑:正如@chedine 正确指出的那样,AOP 是编译时编织的,因此通常的 AOP 性能损失不适用。

于 2010-06-15T07:31:23.390 回答
2

我认为,在 Spring ROO 的情况下不会对性能造成影响。由于它使用编译时编织,并且在编译时引入了所有方面。

于 2010-06-15T08:40:06.563 回答
1

在这个相关的 SO 问题中解决了这些缺点:面向方面编程 (AOP) 的缺点是什么?

于 2010-06-15T11:17:07.977 回答