在A和B中反转的是什么

时间:2013-12-30 09:08:45

标签: inversion-of-control

我们知道IOC(Inversion of Control)的概念,我们也知道如何在Spring的情况下使用这个概念。现在只想知道是否有两个类,如A和B.如果我将IOC用于A类和B类,那么这里有什么反转?我在下面提供代码。

class A {
    B b;
    public A(B b) {
    }
}

所以在这里我们知道这是一个构造函数注入的情况,但是作为IOC的一部分在这里被反转了什么?请给我一个解释。

1 个答案:

答案 0 :(得分:0)

它的设计模式与删除代码中的依赖关系有关。现在,如果你想创建A类或B类的对象,你不再需要担心如何创建对象。

class A {
    B b;
    public A() {
      b = new B();
    }
}

现在是在控制倒置的情况下

class A {
    IB b;  //IB is interface
    public A(IB b) {
      b = b;
    }
}

现在,您的代码松散耦合,您无需担心B的对象创建

请参阅链接IOC