【问题标题】:would you use AOP to track points?你会使用 AOP 来跟踪点吗?
【发布时间】:2010-01-02 01:21:42
【问题描述】:

如果您必须在整个应用程序中跟踪用户点,您会使用 springs AOP(方面)吗?

这似乎很合适,因为在整个申请过程中都会获得积分等,有点像安全检查。

(只是阅读 AOP,试图了解它的潜力和用途,而不是说安全性或日志记录)。

当您连接您的连接点时,它们是即时“设置”还是一次?我只是关心这会如何影响性能,还是真的不是问题?

【问题讨论】:

  • 我知道题外话,但你会回答一个问题吗?
  • 哇... 590 个问题,没有答案....

标签: java spring aop


【解决方案1】:

是的,这听起来像是对 AOP 的一种很好的使用。

至于它如何工作的细节,这取决于您使用的 AOP 框架。有些在编译时进行切面编织(例如 AspectJ CTW),有些在加载 lasses 时进行(例如 AspectJ LTW),有些在运行时动态进行(例如 Spring AOP)。

这不可避免地会对性能产生影响,但不要因此阻止您尝试一下。

【讨论】:

    【解决方案2】:

    这可能是一个跨领域的问题。如果不了解您的应用程序的更多信息,很难说清楚。

    Spring AOP 在应用程序上下文建立后在运行时设置它们。

    【讨论】:

      【解决方案3】:

      我认为您可以使用方面来跟踪用户点。这个“要求”是一个横切关注点,因为它在很多方面削减了您的代码。

      如果你想在 Java 中使用方面,你应该使用 AspectJ,它是 Java 最先进的方面扩展。如果您想了解有关方面的介绍,请阅读AspectJ Programming Guide

      关于连接点,它们通常在编译时连接起来。因此,在编织(新行为与旧行为的组合)之后,您将拥有注入新行为的新 Java 代码。另一本关于方面的好书是Eclipse-AspectJ-Aspect-Oriented-Programming-Development

      【讨论】:

        【解决方案4】:

        我认为我不会为此使用 AOP。我将对用户和积分进行建模,并在某种商务舱中实施积分奖励。我也是 AOP 的新手,但我如何理解它,一个切面实际上是横切你的程序的东西。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-04-09
          • 1970-01-01
          • 1970-01-01
          • 2019-07-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-07-03
          相关资源
          最近更新 更多