我理解的IoC和AOP(2)

2008-02-23 09:42:51来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

,我们可能需要在A中通过某种方法去获取一个B的实例,但有了IoC,她就能在A不参与的情况下,给我们一个B的实例,所以,IoC要做的就是在调用点上从原来的主动生成一个调用点,变成被动的接受一个调用点。

接着就是AOP,全称也不说了,字面意思就是面向方面编程。举一个最普遍的例子,就是如果我们代码需要做日志的话,那么在没有AOP的时候,我们的代码可能就是这样:

public class A{

public void methodA(){

do log;

b.methodB();

}

}

这里methodA()中的做日志并不是方法本身的逻辑功能,而是一个附属功能,因此,我们需要把它分离出去。怎么分离,就是AOP要做的事情,简单来说,就是系统在调用者不知情的情况下,为我们的类A增加了一个代理类,她把我们的类A包装了起来,像这样:

public class AP extends A{

A a;

public void methodA(){

do log;

a.methodA():

}

}

public class A{

public void methodA(){

b.methodB();

}

}

于是,当我们以为自己在调用AmethodA()方法时,实际调用的将是AP中的methodA(),于是就可以把做日志的功能从原有的methodA()中分离了出去。所以,AOP要做的就是在用户不知道的情况下,将我们的调用点包裹了起来,从而把原来的功能进行了分离。

这个基本上就是我对IoCAOP的看法。欢迎指正。

上一篇: 【 应用以及剖析】之 java.util.Observer 观察者模式实现
下一篇: JSP及语法概要

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:一个大胆,史无前例的想法

下一篇:JAVA程序员必读:基础篇(4)类和继承