What is Dependency Injection?

Updated 23 November 2018


Dependency injection is a technique whereby one object (or static method) supplies the dependencies of another object. A dependency is an object that can be used (a service). An injection is the passing of a dependency to a dependent object (a client) that would use it. Dependency injection allows a client to remove all knowledge of a concrete implementation that it needs to use. Dependency Injection is a great way to reduce tight coupling between software components.

Let’s take an example of a dependency is when one of the objects depends on the concrete implementation of another object.

In this example, we have a class called Tea which uses another class or interface called Water in Tea class. Tea depends upon the class or interface WaterWe can not use Tea without Water. When we create Tea we also need to create Water. This means Tea depends upon the class or interface Water.

There is three way to inject dependency in class:


I tried to describe Dependency Injection in a simple way. In my next article, I will try to explain the benefits of dependency injection and its relation to Dagger 2.

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*

Be the first to comment.

Start a Project

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home