6

我理解这些原则,但我很难看到实际应用程序在少数几个之外。请赐教;)

4

4 回答 4

3

问任何支持人员:日志记录不是AOP 的一个好的应用程序。他们不在乎应用程序内部调用了什么方法。他们关心应用程序正在执行的重要操作,并需要以他们理解的方式呈现这些信息。要创建体面的日志,您必须将日志视为应用程序的另一个用户界面并相应地进行设计。

更准确地说,可以使用 AOP 来实现跟踪

而且我也不相信它对事务管理有用。我发现简单的 OO 委托将事务管理和业务逻辑完全分开。

不过,好问题!我发现支持 AOP 的论点分为两个阵营:

  1. 无需清理糟糕的设计即可将更改更改为设计不佳的代码。
  2. 解决糟糕的开发工具,例如将跟踪编织到应用程序中,因为环境对跟踪或调试没有很好的支持。
于 2009-05-18T21:26:15.923 回答
2

Spring 人员和 EJB3 规范委员会都认为 AOP 对于声明式事务很有用。

安全,当然。

“AOP In Action”有一个很好的例子,展示了如何使用 AOP 来执行架构规则,例如在服务层之外不调用持久层。

Qi4j 是 Rickard Oberg 最新的脑孩子,它使用 AOP 进行动态类修改。我还没有完全理解它,但如果 R​​ickard 推动它,我们总有一天会想知道的。

于 2009-05-18T22:20:41.537 回答
1

当您有一个大型遗留应用程序并且您希望在整个应用程序中进行全面更改时,AOP 非常有用。

最近我用它来使用额外的 cookie(会话 id 除外)来划分 http 会话范围。它很快减轻了编写糟糕的会话绑定代码的许多痛苦。

还可以查看 Glassbox,了解 AOP 如何帮助制作轻量级监控和性能管理工具的一个很好的例子

于 2009-05-18T21:20:52.673 回答
0

我才刚刚开始探索如何使用 AOP。到目前为止,我已经将它用于依赖注入并实现了一个接口,以在某些 UI 代码中支持两种方式的数据绑定。

于 2009-05-19T15:02:19.647 回答