Dependency Injection PRO

Dependency Injection is a fancy word for a very simple design pattern that decouples highly dependent components.

The traditional approach for coupling the objects with each other was to hard code the dependency.

public interface IEngine
{
 ...
}

public class DieselEngine implements IEngine
{
 ...
}

public interface ICar
{
 ...
}

public class Taxi implements ICar
{
  private Engine engine;
  public Taxi()
  {
   engine = new DieselEngine();
   ...
  }
}

Writing the same code implementing the Dependency Injection pattern might be the following.

public interface IEngine
{
 ...
}

public class DieselEngine implements IEngine
{
 ...
}

public interface ICar
{
 ...
}

public class Taxi implements ICar
{
 private IEngine engine;
 public Taxi()
 {
  ...
 }
 public void setEngine(IEngine ob)
 {
  engine = ob;
 }
}

Dependency Injection is a specific form of Inversion of Control. The process of obtaining the needed dependency is inverted. Instead of letting the code within the Taxi class to select which is the exact IEngine object it will be connected with, that decision is taken by other parts of our program.

Share:

banner for the css playlist in hebrew life michael courses for programmers

The First Steps in CSS

Learn CSS using our our videos (in Hebrew) on the CSS (he) playlist on youtube. Do it now. Do it for free.

Good Trainers Collaborate with Others

It is always essential to keep an open mind and learn from others. This applies to everyone, including teachers and especially software development trainers. Software

The Beauty of Code

Coding is Art! Developing Code That Works is Simple. Develop Code with Style is a Challenge!

Update cookies preferences