AOP实施背后的主要思想是什么

雷曼:

我想对我说清楚。

我阅读了有关AOP概念的信息,并且我知道这是共享交叉服务的好方法。(记录,安全,交易...)

但是,我想对这个想法及其实现发表一些看法。

我读过一些方法,例如AspectJ,JBOSS AOP,以便将AOP与我的业务逻辑同化。

但不是很久以前在这里了吗?

举例来说,我想在我的组件(Java Bean,EJB's等)之间共享日志记录或安全性实现。

为什么我不能使Singleton bean确保它只有一个实例,并且一旦任何组件需要它的日志记录/安全服务,它就会查找并使用它的服务。

为什么我需要理解并拥有所有那些“大”实现,例如Aspectj或jboss AOP?我在这里想念什么?

Tomasz Nurkiewicz:

AOP的想法是将通用逻辑放在一个地方(您的单例解决方案也可以解决),使它“不可见”(透明)。使用AOP,您的日志记录代码甚至都不是业务逻辑的一部分,而是被“注入”到幕后。

而且它更加动态-您不需要每次都需要登录时调用单例服务。只需配置一次切入点(例如:“ 此软件包中的所有设置器 ”),日志记录将应用于所有现有和新代码。

而且,AOP更加灵活和强大。您可以询问AOP实现:“每次我调用以“ save*开头并带有一个参数的方法时,或“如果返回的方法Customer引发一个异常子类IllegalAgumentException,请再次调用该方法”,请启动事务

AOP不仅仅是对通用逻辑进行分组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章