A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 践行渐远 中级黑马   /  2014-10-27 22:51  /  818 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、问题引入:
(1)系统中存在交叉业务,一个交叉业务就是要切入到系统中的一个方面,如下所示:
                         安全        事务        日志
StudentService       ------|----------|------------|-------------
CourseService        ------|----------|------------|-------------
MiscService           -----|----------|------------|-------------
(2)用具体的程序代码描述交叉业务:
method1         method2          method3
{               {                {
------------------------------------------------------切面
....            ....              ......
------------------------------------------------------切面
}               }                }
2、AOP概念

(1)定义:交叉业务的编程问题即为面向方面的编程(Aspectoriented program ,简称AOP),AOP的目标就是要使交叉业务模块化。

(2)可以采用将切面代码移动到原始方法的周围,这与直接在方法中编写切面代码的运行效果是一样的,如下所示:
------------------------------------------------------切面
func1         func2            func3
{            {                {
....           ....               ....
}            }                }
------------------------------------------------------切面
    总结:(1使用代理技术正好可以解决这种交叉业务模块化的问题,代理是实现AOP功能的核心和关键技术。(2)安全,事务,日志等功能要贯穿到好多个模块中,所以,它们就是交叉业务。

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马