1.OOP(面向对象)的不足:1.如果方法的名字变了,所有用到他的地方都要变
2.方法的位置变了,也会变
2.AOP:面向切面编程,是函数式编程的一种衍生类型。
切面就是切入点和通知的组合
作用:在程序运行期间,不修改源码对已有方法进行增强。通过代理方式向目标类植入增强代码。
关键字:AOP是运行期间执行的,是通过动态代理来执行。
Spring的AOP和动态代理的作用是一样的,AOP就是动态代理。,只不过spring把动态代理封装了,通过spring配置的方式,就能实现功能的增强。
利用AOP对业务逻辑的各个部分进行隔离,从而使得各部分之间耦合度降低。提高程序可重用性,提高开发效率。
Spring中的AOP,就是通过配置的方式,实现上面所说的功能。
比如:A功能和B功能要结合再一起,我不把代码写到一起,写到一起耦合度太高了,可以通过AOP技术让他再运行期间动态的集合在一起。但是在代码的层次没有在一起。