AOP:面向切面编程,是OOP的一种延续,补充
OOP思想是一种垂直纵向的继承体系,通过子类继承父类可以解决大部分的代码重复问题,但对于一些特殊问题,如在父类的所有方法的相同的位置进行一些日志控制,OOP就无法解决了
AOP就是解决这些问题的,它通过一种横向抽取机制,将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,也就是切面,通过将横切逻辑代码与业务代码分离,在不改变原有的代码的基础上,将逻辑增强部分应用到原有业务中,从根本上解耦,避免大量的重复操作,降低了模块间的耦合度,提高了系统的可维护性