08Spring - 面向切面编程(AOP)简介

面向切面编程(AOP)

AOP概述

1)AOP的全称

AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)。

2)AOP的产生原因由来

如果要实现某个功能(如日志记录),代码会分散到各个方法中。这样,如果想要关闭某个功能,或者对其进行修改,就必须要修改所有的相关方法。这不但增加了开发人员的工作量,因此AOP思想随之产生。 AOP采取横向抽取机制 ,将分散在各个方法中的重复代码提取出来,然后在程序编译或运行时,再将这些提取出来的代码应用到需要执行的地方。这种采用横向抽取机制的方式,采用传统的OOP思想显然是无法办到的,因为OOP只能实现父子关系的纵向的重用。虽然AOP是一种新的编程思想,但却不是OOP的替代品,它只是OOP的延伸和补充。

简单的说,AOP思想就是在方法执行之前或者之后添加代码(如日志),从而达到不修改源代码。

3)OOP类与AOP类切面的关系
08Spring - 面向切面编程(AOP)简介