..


赞助商链接

AOP - 面向方面编程概述

面向方面编程 (面向方面编程,或者更简单地说,AOP)是另一个看到的软件设计方法。
而不是编程上的对象(面向对象编程- OOP)突出重点,其中主要成分是类,一切是基于AOP 的方面。

一个方面是一个跨越多个类横断面报告模块化,即一个模块,它包含有一个共同的利益(如事务管理)几类。
此外,还有的环节上其他的AOP概念:

  • 连接点:如执行一个方法是运行一个程序问题。
  • 建议:它已经从一个侧面行动将在一个给定的连接点。
  • 切入点:它是通过一个谓词表达式,结合在一个连接点的书面意见,这些意见是执行时的切入点匹配一个连接点。 例如,假设一个类的方法doSomething()的,该方法执行的连接点,切入点,反而可能是一种表现为“前的方法doSomething()的执行”等。
  • 目标对象:他们是在其上执行对象的意见。
  • 介绍:一个attraveso introdutction你可以添加新的接口,从而为目标对象的新方法。
  • AOP代理是所创建的dall'AOP框架实施意见和执行对象。
  • 的过程,结合各方面的意见,创建目标对象。 通常这个过程需要在运行时发生。

意见可以是多种类型:

  • 咨询前:他们的意见是一个连接点之前运行,例如,前一个方法的执行。 他们不能停止流的执行,除非演员也不例外。
  • 回国后建议:建议是正在执行时,加入正常的方式来看,没有抛出异常,即结束。
  • 抛后建议:他们是时执行异常终止一个连接点,即抛出异常的意见。
  • 后建议:这是时执行的方式联接正常和异常点结束的建议。
  • 环绕通知:建议是最强大的,并且之前和之后的连接点执行。 通过这样的一种意见,你可以停止防止方法执行的执行流程,例如,改变它的返回值或抛出一个异常。

在Spring的连接只支持一个方法的实现 ,那么Spring AOP不提供完整的实施期,但是,足以解决最常见的企业应用。

为了实现每个目标对象的功能是AOP 包装在一个代理,公开的对象实现同样的接口。 默认情况下我们使用J2SE动态代理,但只允许代理接口或接口。
该代理CGLIB而不是用来当一个对象不实现接口,他们可以强制的,你必须创建一个一个没有公开的方法在接口切入点极少数情况下使用。

春天的Java指南
电子学习
Linux操作系统(课程) Linux操作系统(课程)
完整指南开源系统。 从49€。
PHP(课程) PHP(课程)
全部课程用于创建动态Web站点。 从49€。
Ruby和Ruby on Rails的(课程) Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。
赞助商链接