AOP思想

l 系统中存在交叉业务,一个交叉业务就是要切入到系统中的一个方面,如下所示

      下面的方法都有要处理安全,事务,日志的代码,相当于一个面切入到了这些方法:

                              安全       事务         日志

StudentService  ------|----------|------------|-------------

CourseService   ------|----------|------------|-------------

MiscService      ------|----------|------------|-------------


l 用具体的程序代码描述交叉业务:

method1         method2          method3

{                      {                       {

------------------------------------------------------切面(安全,事务,日志代码)

//业务逻辑代码  //业务逻辑代码  //业务逻辑代码

  ....                          ....                                  ......

------------------------------------------------------切面

}                       }                       }



l 交叉业务的编程问题即为面向方面的编程( Aspect oriented program , 简称 AOP ),
AOP 的目标就是要使交叉 业务模块化。可以采用将切面代码移动到原始方法的周围,
这与直接在方法中编写切面代码的运行效果是一样 的,如下所示:

------------------------------------------------------切面

func1         func2            func3

{             {                {

....            ....              ......

}             }                }

------------------------------------------------------切面


使用代理技术正好可以解决这种问题,代理是实现 AOP 功能的核心和关键技术。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值