title: What is a DI Container?
body: <p>I am watching this course video about dependency injection and the instructor talked about <code>di-container</code> but did not explain in detail, now I read some articles and I want to confirm that now I am getting this right. Below is simple program and my question is, </p>
  
  <p><strong>Is Program class below is kind of simplest di-container? if not how would simple di-container would be like</strong></p>
  
  <pre><code>interface  Implementable {
      void doSmth();
  }
  
  class A implements Implementable {
  
      @Override
      public void doSmth() {
  
      }
  }
  
  class B {
  
      private Implementable i;
  
      public B(Implementable implementable) {
          this.i= implementable;
      }
  
      public void doSmth(){
          i.doSmth();
      }
  }
  </code></pre>
  
  <p>Is this class di-container ?</p>
  
  <pre><code>class Program {
      B b = new B(new A());
      b.doSmth();
  }
  </code></pre>