发布网友 发布时间:2022-03-24 06:11
共6个回答
热心网友 时间:2022-03-24 07:40
AOP为Aspect Oriented Programming的缩写,是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。
AOP的出现弥补了OOP的这点不足,AOP 是一个概念,一个规范,本身并没有设定具体语言的实现,AOP是基于动态代理模式。AOP是方法级别的,要测试的方法不能为static修饰,因为接口中不能存在静态方法,编译就会报错。
AOP可以分离业务代码和关注点代码(重复代码),在执行业务代码时,动态的注入关注点代码。切面就是关注点代码形成的类。Spring AOP中的动态代理主要有两种方式,JDK动态代理和CGLIB动态代理。JDK动态代理通过反射来接收被代理的类,并且要求被代理的类必须实现一个接口。
扩展资料
AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ。而动态代理则以Spring AOP为代表,静态代理是编译期实现,动态代理是运行期实现,可想而知前者拥有更好的性能。
静态代理是编译阶段生成AOP代理类,也就是说生成的字节码就织入了增强后的AOP对象;动态代理则不会修改字节码,而是在内存中临时生成一个AOP对象,这个AOP对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。
参考资料来源;百度百科--AOP
热心网友 时间:2022-03-24 08:58
AOP就是“面向切面编程”。只有当你真正的理解OOP之后,才可以理解AOP的思想。热心网友 时间:2022-03-24 10:33
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。热心网友 时间:2022-03-24 14:32
oop:纵向的业务。热心网友 时间:2022-03-24 16:57
AOP :面向切面编程 ,它主要关注的是程序的执行过程。具体解析:在java方法调用时,AOP机制能自动进行方法拦截,允许在方法调用之前,调用后,以及执行异常时添加特点的代码来完成需要的功能。特点:1,消除编码模块之间的耦合。 2, 可以在任意阶段,向已有功能模块中填加新功能,且不侵入原有功能 低侵入式设计 3, 各步骤之间的良好隔离性 , 源代码的无关性</p></p>热心网友 时间:2022-03-24 19:38
aop是面向切面编程,语言、框架的发展都是一步步的分离、解耦的过程,来降低程序之间的依赖性和耦合性,使其达到标准、易维护、易理解、易复用等目的。