认识面向方面编程

Aspect-Oriented提出了一种新的代码组织方案,即日志代码、安全代码、事务代码等辅助性代码(Ancillary functionalities)不应该与[b]业务逻辑代码[/b]交织在一起。这些功能可通过框架的AOP特性来参与程序。

为了重用通用的功能,可以使用继承和代理。但是它们各有弊端。

Aspect提供了另外的方案:
在AOP的帮助下,我们可以集中地定义这些通用功能,然后再设置这些功能的应用方式和位置,而不用修改那些需要应用这些新功能的类文件。这些通用功能的集结地就成为Aspect。

AOP中的术语:Advice, Pointcut, Join points
Advice定义了辅助功能与业务逻辑的相对执行顺序。辅助功能可能会对很多业务逻辑功能发挥功能,每个需要添加辅助功能的时机称作一个Join point。这些时机可能是业务逻辑执行之前、执行之后、或者抛出异常之时。Pointcut限制了Advice的适用范围。
另外还有Introduction用来表示为业务功能增加辅助功能。Weaving表示将业务功能与辅助功能编织在一起的过程,编织的时机可以是目标类编译时、目标类装载时和目标类运行时(采用代理的方式)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值