除了日志记录和事务管理之外,AOP的一些实际应用是什么?

时间:2009-05-18 21:12:26

标签: aop

我理解这些原则,但我很难看到实际应用在哪些之外。请赐教;)

4 个答案:

答案 0 :(得分:3)

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

可以更准确地说AOP可用于实现跟踪

我也不相信它对交易管理有用。我发现普通的OO代表团干净地将事务管理和业务逻辑分开。

还是,好问题!我发现AOP的争论分为两个阵营:

  1. 改变设计不良的代码而不必清理糟糕的设计。
  2. 解决糟糕的开发工具,例如将跟踪编织到应用程序中,因为环境对跟踪或调试没有很好的支持。

答案 1 :(得分:2)

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

安全,当然。

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

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

答案 2 :(得分:1)

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

最近我用它来使用额外的cookie(会话ID除外)对http会话范围进行分区。它很快就减轻了编写错误的会话绑定代码所带来的痛苦。

同时结帐Glassbox,了解AOP如何帮助制作轻量级监控和绩效管理工具

答案 3 :(得分:0)

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