Java面试题之面向切面编程(AOP)

AOP的理解

AOP面向切面编程只要是解决OOP(面向对象编程)的共性问题扩展问题

AOP的作用是将公共的功能提取出来,公共的模块,只关注通用功能,不关注业务逻辑

AOP的优势:
1.将通用功能从业务中抽离出来,提高代码的复用性。有利于后期的维护和拓展。
2.在软件设计时,抽出通用功能,有利于软件设计的模块化,降低架构的复杂度。

AOP与OOP的区别:
OOP是针对业务处理过程的实体,属性,行为进行封装
AOP则是针对业务处理过程中的切面进行提取,面对处理过程中的某个步骤或阶段,逻辑过程中各个部分的低耦合性
它们针对的目标是完全不同的

总结:
1.面向目标不同:OOP是面向名词,AOP是面向动词。
2.思想结构不同:OOP是纵向,AOP是横向
3.注重方面不同:OOP注重业务逻辑单元划分,AOP偏重业务处理过程中的某个步骤
AOP并不是OOP的升级,它是对OOP的不足的弥补,解决OOP存在的问题。

AOP代码实现:
1.装饰器模式:
2.代理模式:

面试题

1.AOP有哪些可用的实现?
答:AspectJ 、Spring AOP、 JBoss AOP …

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值