横向重复,纵向提取
AOP定义(面试题):
通过预编译方式和运行时动态代理实现程序功能的统一维护的一种技术。
横向重复,纵向提取,在OOP基础上进行横向开发
AOP关注内容各层和各个方法之间的共性内容
将共性内容提取出来,单独开发,实现共性(事务、日志...)与特性(业务代码)分离
好处:
实现了代码复用,方便维护
高内聚,低耦合
实现了解耦(共性与特性)
实现模块开发
专业术语:
连接点(join point)
SpringAOP中,被增强方法的执行点
切点(point cut)
SpringAOP中,被增强方法/目标方法
增强(Advice)/通知
增强的代码
织入(weaving)
将通知织入到目标方法的过程
目标对象
代理对象
切面(Aspect)
切面=通知+切点
将通知织入到切点形成切面
原文:https://www.cnblogs.com/peng-1234/p/14590045.html