AOP的常识

1、AOP的作用?

AOP很好地解决系统需求问题,无需在业务需求代码前后插入代码,降低了代码间的耦合度并且提高了系统需求代码的复用率。

2、什么是AOP?

AOP就是面向切面编程,使用AOP,可以对Logging和Security等系统需求进行模块化处理,简化系统需求和实现之间的对比关系,进而使整个系统的实现更具模块化。

一般来讲,我们希望软件开发的时候,各个对象之间互相调用,实现我们想要的需求。但实际开发中,日志记录、安全检查、事务管理等系统需求就像一把刀“恶狠狠”地横切到我们组织良好的各个业务模块之上。以AOP的行话来说,这些系统需求就是系统中的横切关注点。使用传统方法,我们无法更好地以模块化的方式对这些横切关注点进行组织和实现。所以AOP引入了Aspect的概念,用来以模块化的形式对系统中的横切关注点进行封装。

3、何为Aspect?

Aspect之对于AOP,相当于Class之对于OOP。AOP是对OOP的一种补充。当我们把用Class形式模块化的业务需求和以Aspect形式模块化的系统需求拼装到一起的时候,整个系统就算完成了。


4、AOP如何发挥作用?

与OOP需要相应的语言支持一样,AOP也需要某种语言以帮助实现相应的概念实体,这些语言称为AOL。AOL可以和系统实现语言相同,比如系统实现语言为Java,那么相应的AOL也可以为Java。也可以不同,比如AspectJ是扩展自Java的一种AOL,与Java属于不同的两种语言。

AOP的各个概念实体,最终要以织入(Weave)的方式集成到系统实现语言所实现的OOP实体组件中去。将AOP的Aspect织入到OOP系统的实现方式很多。但不管如何实现,织入过程是处于AOP和OOP的开发过程之外的,而且对于整个系统的实现是透明的,开发者只需要关注相应的业务需求实现,或者系统需求的实现即可。当所有的业务需求和系统需求以模块化的形式开发完成之后,通过织入过程就可以将整个的软件系统集成并付诸使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值