AOP与OOP
AOP与OOP是面向两种不同的领域设计思想,OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行封装,以
获得更加清晰的逻辑单元划分。
AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中某个步骤或子阶段,以获得逻辑过程中各部分之间
低耦合性的隔离效果。这两种设计思想在目标上有本质的差异。
AOP是与源码组成无关性的,也就是说业务逻辑处理代码与AOP实现组件完全是独立的,业务逻辑处理代码可以脱离AOP
实现组件能够狡编译运行。AOP组件对业务逻辑处理代码来说应该是完全透明的,AOP组件通过是通过预编译方式(如
ASPectJ)和运行中动态代理(比如:Spring AOP、JBobss AOP)来实现。