Spring框架学习—Spring的核心思想AOP
1.什么是AOP
-
AOP:Aspect oriented Programming 面像切面/方面编程
-
AOP是OOP的延续
-
从OOP说起,那么OOP的三大特征:封装,继承和多态
-
OOP思想是一种垂直纵向的继承体系
-
这时候就需要AOP来了,先来看一下横切逻辑代码
-
横切逻辑代码会出现什么问题
- 横切代码重复问题
- 横切逻辑代码和业务代码混淆在一起,代码臃肿,不易维护
-
AOP出场,独辟蹊径提出横向抽取机制,将横切逻辑代码和业务代码分析
-
代码拆分不易,那么如何在不修改原有的业务逻辑的情况下,悄无声息的把横切逻辑代码应用到了原有的业务逻辑中,达到和原来一样的效果,这个是比较难的
2.AOP在解决什么问题
- 在不改变原有代码的情况,增强横向逻辑代码,根本上是减耦合程度,避免横切逻辑代码重复