黑马程序员技术交流社区

标题: AOP概念!(笔记) [打印本页]

作者: 践行渐远    时间: 2014-10-27 22:51
标题: AOP概念!(笔记)
1、问题引入:
(1)系统中存在交叉业务,一个交叉业务就是要切入到系统中的一个方面,如下所示:
                         安全        事务        日志
StudentService       ------|----------|------------|-------------
CourseService        ------|----------|------------|-------------
MiscService           -----|----------|------------|-------------
(2)用具体的程序代码描述交叉业务:
method1         method2          method3
{               {                {
------------------------------------------------------切面
....            ....              ......
------------------------------------------------------切面
}               }                }
2、AOP概念

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

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





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2