================== 面向切面编程的概念 ================== 面向过程编程(Producer Oriented Programming,POP) - C - 以过程(函数、方法)为程序开发的基本单位 - 通过过程间的相互调用实现程序的功能 面向对象编程(Object Oriented Programming,OOP) - Java - 以对象为程序开发的基本单位 - 通过对象间的调用和协同实现程序的功能 - UserService<->UserDao 面向切面编程(Aspect Oriented Programming,AOP) - Spring - 以切面为程序开发的基本单位 - 通过切面间的调用和协同实现程序的功能 切入点 - 关键的核心功能 / /\ 切面 切||它 \ || 增 强 - 额外的辅助功能 面向切面编程的本质就是用“增强”去切“切入点”,实际上就是动态代理编程。 面向切面编程通过代理类为原始类增加额外功能,有利于对原始类的维护。 AOP建立在OOP的基础之上,是对OOP的补充和扩展,不可能取代OOP。