-
我们在使用一个便捷的工具之前,应该来了解下这个工具采用了那些思想。这样才可以来更好的使用工具。
-
aop的概念
在百度百科上首先aop的英文缩写(Aspect Oriented Programming) 中文 意思是面向切面编程,通过动态代理和预编译技术来实现。
- aop的组成
1.aspect 切面(是由切点pointcut和advice要执行的方法组成)
2.pointcut 切入点(这里具体为在执行某个类的某个方法时候进行增强处理的地方)
3.advice 执行的方法(这是为某个切入点执行的加强的一段代码,我们可以通过before,after,around来指明这段代码片在切入点执行之前,执行之后,还是执行过程中来执行)
- aop的作用
aop可以完成业务代码的剥离,比如我们要对不同的类都要进行异常处理
我们可以利用aop来做成统一的异常处理 ,我们只需要关注业务逻辑代码 就可以了。
再例如我们需要对程序流中的某个业务部分进行扩展,也可以在不修改源码情况下完成扩充
- aop和oop的不同
oop是对实现业务的逻辑单元(对象)进行属性和行为的封装,操作
aop是对业务过程进行相应的切割,提取 它更关注业务执行过程中某个步骤和阶段,用来实现对各个逻辑过程之间的隔离和低耦合 这和oop是完全不相同的概念